t-sql字串處理函式
函式名
描述
示例
substring
用於從字串中提取子串,提取的位子從被指定的位置開始;
substring(string, start, length)
select substring('asdfghj', 1, 3);
返回; asd
left和right
他們分別返回輸入字串中從左邊或右邊開始指定個數的字元;
left(string, n),
right(string, n)
select left('asdf', 3);
返回; asd
len和datalength
返回輸入字串中的個數(對於普通字元,這兩個數字是相同的。而對於unicode字元,每個字元需要兩個位元組的儲存空間,因此,字串的字元數是位元組數的一半。如果要得到位元組數,則應該使用datalength)
len(string);
select len(n'asdfg')
返回; 5
select datalength(n'asdfg')
返回; 10
charindex
返回字串中某個子串第一次出現的其實位置。
charindex(substring, string [, start_pos])
select charindex('' , 'ao ***')
patindex
返回字串中某個模式第一次出現的其實位置
patindex(pattern, string)
select patindex('%[0-5]%', 'asd123fghj')
返回; 4
replace
將字串中出現的所有某個子串替換為另乙個字串
replace(string, substring1, substring2)
select replace ('1-a 2-b', '-', ':')
返回; 1:a 2:b
replicate
以指定的次數複製字串值
replicate(string, n)
select replicate('asd', 3)
返回; asdasdasd
stuff
先刪除字串中的乙個子串,再插入乙個新的自字串作為替換。
stuff(string, pos, delete_length, insertstring)
select stuff('asd', 2, 1, 'abc');
返回; aabcd
like
檢查字串是否能夠匹配指定的模式。
like'%《任意長度字元包括空字元》,_《任意單個字元》 ,[ ]
《一列字元如'asd'> ,-
《包含乙個字元範圍如『a-e』> ,^《表示不屬於指定字元列或範圍的任意單個字元如'^asd'> ,escape《轉義符,用來搜尋特殊萬用字元如, _ , %>'
T sql將字串分割函式
create function dbo func splitstring str nvarchar max split varchar 10 returns t table c1 varchar 100 asbegin declare i int declare s int set i 1 set ...
T SQL常用的字串函式
常用的字串函式有 一 字元轉換函式 1 ascii 返回字元表示式最左端字元的ascii 碼值。在ascii 函式中,純數字的字串可不用 括起來,但含其它字元的字串必須用 括起來使用,否則會出錯。2 char 將ascii 碼轉換為字元。如果沒有輸入0 255 之間的ascii 碼值,char 返回...
T SQL 定義分割字串的函式
一 按指定符號分割字串,返回分割後的元素個數,方法很簡單,就是看字串中存在多少個分隔符號,然後再加一,就是要求的結果。create function get strarraylength str varchar 1024 要分割的字串 split varchar 10 分隔符號 returns in...