函数名 | 描述 | 示例 |
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 xxx') |
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字符串处理函数
最新推荐文章于 2025-01-21 00:34:25 发布