當前位置:首頁 » 編程語言 » sql字元串截取函數
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql字元串截取函數

發布時間: 2023-02-21 22:57:47

Ⅰ mssql資料庫截取字元

mssql中截取字元串可以用left,right,substring函數。

left,是從字元左邊開始截取,如:截取abcdefg字元串中的前三個字元:

selectleft('abcdefg',3);

其中3為截取的長度。

rigth是從字元右邊開始截取,如截取abcdefg字元串中的後三個字元:

selectright('abcdefg',3);

其中3為截取的長度。

substring,是從任意位置截取,如截取abcdefg字元串中的第二到第四個字元:

selectsubstring('abcdefg',2,3);

其中2為開始截取的位數,3為截取的長度。

Ⅱ SQL SERVER 字元串截取

1.將字元串中從某個字元開始截取一段字元,替換成另一字元

select   stuff('helloworld!',4,4,'****')

hel****rld!

2.指定字元串起始位置,截取指定長度

select  substring('helloworld!',4,5)

lowor

3.替換指定字元串

select   replace('helloworld!','ld','aa')

helloworaa!

4.去除字元串兩端空格

select  ltrim(' helloworld!')

helloworld!

5.用0替換NULL【isnull( )】

select     ISNULL(KCRKD2_SCDDLS,0)   from    KCRKD2

返回0

6.取字元串,再轉化為整數

select      convert(float,substring(xsddmx_wlbh,6,3))  from   XSDDMX

7.字元串前三個是固定的,後面長度是變化的用LEN()取字元串長度,去掉前三個字元(截取右端固定字元數換成LEFT)

SELECT    RIGHT(KCRKD3_JH,LEN(KCRKD3_JH)-3)      FROM     KCRKD3

返回B160459B01487

8.從『-』向後截取8位字元(charindex()返回字元位置)

select    SUBSTRING('E03AHJC-E1701005020184',charindex('-','E03AHJC-E1701005020184')+1,8)

9. replace將『h』替換

SELECT     REPLACE('Hello,World!','h','2')   2ello,World!

SELECT     REPLACE('Hello,World!','h','')      ello,World!

SELECT     REPLACE('Hello,World!',' ','2')      Hello,World!

10.復制字元

select      REPLICATE('Hello,World!',3)

時間函數

1.截取兩個時間的時間差

select  DATEDIFF(D,TMBASE_DATE,GETDATE())  from     TMBASE

Ⅲ 如何從多個位置截取字元串的SQL語句

SQL 中從多個位置截取字元串,需要配合left,right,rtrim三個函數來實現。

一、函數語法:

1、left()
LEFT (<character_expression>, <integer_expression>)
返回character_expression 左起 integer_expression 個字元。

2、RIGHT()
RIGHT (<character_expression>, <integer_expression>)
返回character_expression 右起 integer_expression 個字元。

3、LTRIM(character_expression) 把字元串character_expression頭部的空格去掉。

4、RTRIM(character_expression) 把字元串character_expression尾部的空格去掉。

二、代碼實例:

圖中以:表a,ID為2,C列的值「12345678」為例:

其中最後一句中的right(rtrim(c),1),是因為字元只有8位,在right函數中,系統自動按C列定義的長度使用空格補足。也就是說如果是right(c,1)返回空字元「」,所以使用rtrim(c)把右邊空格刪除。

Ⅳ sql字元串截取查詢,該怎麼解決

SQL Server 中截取字元串常用的函數:

1.LEFT ( character_expression , integer_expression )
函數說明:LEFT ( '源字元串' , '要截取最左邊的字元數' )
返回從字元串左邊開始指定個數的字元
select LEFT('SQL_Server_2008',4 );
返回結果:SQL_
2.RIGHT ( character_expression , integer_expression )
函數說明:RIGHT ( '源字元串' , '要截取最右邊的字元數' )
返回字元串中從右邊開始指定個數的 integer_expression 字元
select RIGHT('SQL_Server_2008',4 );
返回結果:2008
3.SUBSTRING ( character_expression , start , length )
函數說明:SUBSTRING ( '源字元串' , '截取起始位置(含該位置上的字元)' , '截取長度' )
返回字元、binary、text 或 image 表達式的一部分
select SUBSTRING('SQL_Server_2008',5 ,6);
返回結果:Server

Ⅳ 簡單SQL語句,如何截取指定分隔符前字元串

一、用到的函數:substring(' ', , )、charindex(' ',' ')
select SUBSTRING('[email protected]',1,charindex('@','[email protected]')-1)
1.substring(字元串表達式,開始位置,長度):
從一個指定字元串的指定位置截取制定長度的字元;
第一個參數表示被截取的字元串;
第二個參數表示要在第一個參數中開始截取的位置;
第三個參數表示要截取的長度。
例如:select substring('abc123',1,2) →返回ab
從字元串『abc123』的第一個字元開始截取,共截取兩個字元,最後得到『ab』。
2.charindex(字元串表達式1,字元串表達式2[,整數表達式]):
在字元串2中查找字元串1,如果存在返回第一個匹配的位置,如果不存在返回0。如果字元串1和字元串2中有一個是null則返回null。
可以指定在字元串2中查找的起始位置。
例如:select charindex('ab','BCabTabD') → 返回3
select charindex('ab','BCabTabD',4) →返回6

二、用到的函數:left(' ', )、charindex(' ',' ')
select LEFT('[email protected]',charindex('@','[email protected]')-1)
1.left(字元串表達式,整數表達式):
從字元串表達式的最左邊開始截取整數表達式個字元。
例如:select left('abcdef',3) →返回abc

Ⅵ sql資料庫截取字元串函數

Oracle中 其語法為:
substr函數的用法,取得字元串中指定起始位置和長度的字元串 ,默認是從起始位置到結束的子串。

substr( string, start_position, [ length ] ) substr('目標字元串',開始位置,長度)
如:
substr('This is a test', 6, 2) would return 'is'
substr('This is a test', 6) would return 'is a test'
substr('TechOnTheNet', -3, 3) would return 'Net'
substr('TechOnTheNet', -6, 3) would return 'The'select substr('Thisisatest', -4, 2) value from al

Ⅶ sql截取字元串函數

Sql Server:

selectsubstring(name1,0,charindex('.',name1))fromtable1

Oracle:

selectsubstr(name1,0,instr(name1,'.'))fromtable1

以上兩種資料庫的,希望可以幫到你

Ⅷ sql中怎樣把字元串截取為欄位

sql語句可以截取指定欄位後面的字元串,以sqlserver為例,需要用到charindex函數和substring函數。
如test表中有如下數據,要求截圖str欄位中逗號後邊的內容。

可用如下語句:

1

select id,substring(str,charindex(',',str)+1,len(str)-charindex(',',str)) from test;

結果截圖:

charindex函數說明:
語法:
CHARINDEX ( expression1 , expression2 , [ start_location ] )

參數:
expression1
一個表達式,其中包含要尋找的字元的次序。expression1 是一個短字元數據類型分類的表達式。
expression2
一個表達式,通常是一個用於搜索指定序列的列。expression2 屬於字元串數據類型分類。
start_location
在 expression2 中搜索 expression1 時的起始字元位置。如果沒有給定 start_location,而是一個負數或零,則將從 expression2 的起始位置開始搜索。

substring函數說明:
語法:
substring( expression, start, length)
參數:expression 字元串、二進制字元串、文本、圖像、列或包含列的表達式start 整數或可以隱式轉換為 int 的表達式,指定子字元串的開始位置length 整數或可以隱式轉換為 int 的表達式,指定子字元串的長度

Ⅸ sql中where截取字元串字元

不管哪個庫,sql中一般都支持substring 或者它的變種 substr left right mid等