SQL 常用字元處理函式

2021-10-02 21:19:35 字數 3713 閱讀 8192

1、取子字串

left()、right()、substring():取子字串

2、charindex():返回字串中指定表示式的開始位置

patindex():返回指定「表示式中模式」第一次出現的開始位置

select 參照欄位1,參照表 , left(參照欄位1,charindex('.',參照欄位1)-1) 

from s_quickfieldslist

where 表名 = 'gd_js'

and 欄位名稱 = '部門編號'

and isnull(參照表,'') = ''

and charindex('.',參照欄位1)>0

select patindex('%hello%','worldhello') 結果為:6
3、len() 、datalength() 字串長度

select len('aaa')       -- 反回3

select len('計算機') --反回3

select datalength('aaa' ) --反回3

select datalength('計算機') --反回6

4、lower()、upper():字串轉換為大、小寫

declare @cstring char(20)

set @cstring = ' abcdef '

select lower(ltrim(rtrim( @cstring ))) -- 去除前後空格轉小寫 顯示: abcdef

select upper(ltrim(rtrim( @cstring ))) -- 去除前後空格轉大寫 顯示:abcdef

5、 space():返回由重複的空格組成的字串

replicate():以指定的次數重複字串值

select replicate('abc', 4)  /* 結果為:abcabcabcabc */
replicate() 例子:

-- 生成10位字元型的序號 格式 『000000001』

declare @i int

declare @c varchar(20)

set @i = 1

set @c = convert(varchar(20),@i)

if ((10-len(@c))>0)

begin

select replicate('0', 10-len(@c))+ @c

end

6、replace():字串替換

select replace('helloworld!','o','e')   /* 結果為:hellewerld! */
stuff():刪除指定長度的字元,並在指定的起點處插入另一組字元

select stuff('abcdefgf', 2, 6, 'hello-')    /* 結果為:ahello-f */    

select stuff('abcdefgf', 2, 6, 'hello') /* 結果為:ahellof */

8、unicode():返回輸入表示式的第乙個字元的整數值

ascii():得到字元的ascii碼

char():得到乙個與ascii碼數字對應的字元

nchar():返回返回具有指定的整數**的 unicode 字元

select unicode('a')        /* 結果為:97 */

select ascii('h') /* 結果為:72 */

select char(72) /* 結果為:h */

select nchar(20013) /* 結果為:'中' */

9、ltrim() 、rtrim() 去空格函式

ltrim() 把字串頭部的空格去掉。

rtrim() 把字串尾部的空格去掉。

set @cstring = ltrim(rtrim( @cstring ))

set @cstring = upper(ltrim(rtrim(isnull(@cstring,'')))) --去前後空格,轉大寫

10、str():返回由數字資料轉換來的字元資料

select str(1234.436, 3)         /* 結果為:'**';當表示式超出指定長度時返回'**' */

select len(str(1234.436, 3)) /* 結果為:3 */

select str(123.436), len(str(123.436)) /* 結果為:'123', 10 */

select str(123.436, 6), len(str(123.436, 6)) /* 結果為:'123', 6 */

select str(123.436, 6, 1), len(str(123.436,6, 1)) /* 結果為:'123.4', 6 */

11、 stuff():刪除指定長度的字元,並在指定的起點處插入另一組字元

select stuff('abcdefgf', 2, 6, 'hello-')    /* 結果為:ahello-f */    

select stuff('abcdefgf', 2, 6, 'hello') /* 結果為:ahellof */

12、quotename()

返回被特定字元括起來的字串。

quotename (<』character_expression』>[, quote_ character]) 其中quote_ character 標明括字串所用的字元,預設值為「」。

select quotename('表名','{}') --
13、資料型別轉換函式

cast()

cast ( as [ length ])

convert()

convert ([ length ], [, style])

declare @cday char(2)

-- 把天轉換為字元型的天值

select @cday = convert(char(2),day(日期))

from gd_js_sum_total a inner join inserted i

on a.序號 = i.序號

set @cday = ltrim(rtrim( @cday )) -- 去除前後空格

14、判斷兩值之間

日期 between  '2020-01-01' and  '2020-2-31'

SQL常用字串函式

一 字元轉換函式 1 ascii 返回字元表示式最左端字元的ascii 碼值。在ascii 函式中,純數字的字串可不用 括起來,但含其它字元的字串必須用 括起來使用,否則會出錯。2 char 將ascii 碼轉換為字元。如果沒有輸入0 255 之間的ascii 碼值,char 返回null 3 lo...

SQL常用字串函式

sql常用字串函式 一 字元轉換函式 1 ascii 返回字元表示式最左端字元的ascii 碼值。在ascii 函式中,純數字的字串可不用 括起來,但含其它字元的字串必須用 括起來使用,否則會出錯。2 char 將ascii 碼轉換為字元。如果沒有輸入0 255 之間的ascii 碼值,char 返...

常用字串處理函式

1626 5 劉小銘總結 2016年10月19日 連續19天總結 內容 a 一句話概括今日目標完成情況 常用字串處理函式 80 b 具體內容 昨天看了string字串那一節課,今天看了書上的常用字串處理函式,並沒有看見昨天所使用的那一種。尷尬 今天呢,看了一下,常用字串處理函式,有複製 貼上 比較 ...