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字串那一節課,今天看了書上的常用字串處理函式,並沒有看見昨天所使用的那一種。尷尬 今天呢,看了一下,常用字串處理函式,有複製 貼上 比較 ...