29 常用字符处理函数
29.1 ASCII()
语法:
ASCII(字符串);
返回字符串表达式中最左侧的ASCII代码值。
示例:
SELECT ASCII('S'),ASCII('SQL');
结果为:83 83
29.2 CHAR()
语法:
CHAR(字符串);
将整数类型的ASCII值转换为对应的字符。
示例:
SELECT CHAR(83);
结果为:S
29.3 LEN()
语法:
LEN(需要获取长度的字符串);
返回:字符串的长度
示例:
SELECT LEN('SQL学习之路');
结果为:7
29.4 LEFT()
语法:
LEFT(需要被从左边截取的字符串,截取的长度);
返回:左边的字符串
示例:
SELECT LEFT(‘SQL学习’,2);
结果为:SQ
29.5 RIGHT()
语法:
RIGHT(需要被从右边截取的字符串,截取的长度);
返回:右边的字符串
示例:
SELECT RIGHT('SQL学习之路',2); 结果为:之路
29.6 CHARINDEX()
语法:
CHARINDEX(需要查找位置的子字符串,父字符串,从哪个位置开始找);
返回:被查找的子字符换在父字符串中的位置
示例:从第一个位置查找'SQL学习之路'中的'路'字在哪个位置
SELECT CHARINDEX('路','SQL学习之路',1); 结果为:7
29.7 PATINDEX()
语法:
PATINDEX(%需要查找的子字符串%,父字符串);
返回指定表达式中模式第一次出现的开始位置,子字符串可使用通配符%,而上面的CHARINDEX则不可以。
示例:
SELECT PATINDEX('%数据%','SQL数据库开发'); 结果为:4 SELECT PATINDEX('%_数据%','SQL数据库开发'); 结果为:3
注意:上面的数据前面有个通配符_,代表一个任意字符的意思。
29.8 LTRIM()
语法:
LTRIM(需要被清空的字符串);
返回:被清空左边空格的字符串
示例:
SELECT LTRIM(' SQL学习之路'); 结果为:SQL学习之路
29.9 RTRIM()
语法:
RTRIM(需要被清空右边的字符串);
返回:被清空右边空格的字符串
示例:
SELECT RTRIM('SQL学习之路 '); 结果为:SQL学习之路
29.10 STUFF()
STUFF在英文中有“填塞”的意思。
语法:
STUFF(字符串,开始下标,截取长度,插入的字符串);
在一个字符串中,删除指定长度的字符,并在该位置插入一个新的字符串。
示例:
SELECT STUFF('ABCDEFG',2,3,'SQL学习之路'); 结果为:ASQL学习之路EFG
29.11 REPLACE()
语法:
REPLACE(指定字符串,需要被替换的字符串,替换为的字符串);
返回新的字符串。
示例:
SELECT REPLACE('SQL学习之路','学习','成长'); 结果为:SQL成长之路
29.12 UPPER()
语法:
UPPER(需要转换为大写的字符串);
把字符串转换为大写。
示例:
SELECT UPPER('sql学习之路'); 结果为:SQL学习之路
29.13 LOWER()
语法:
LOWER(需要转换为小写的字符串);
把字符串转换为小写。
示例:
SELECT LOWER('SQL学习之路'); 结果为:sql学习之路
29.14 SUBSTRING()
语法:
SUBSTRING(字符串,起始下标,长度);
提取字符串。
示例:
SELECT SUBSTRING('SQL学习之路',4,4); 结果为:学习之路
29.15 REVERSE()
语法:
REVERSE(需要逆向取值的字符串);
返回字符串的逆向值。
示例:
SELECT REVERSE('SQL学习之路'); 结果为:路之习学LQS
29.16 REPLICATE()
REPLICATE在英文中有“复制”的意思。
语法:
REPLICATE(需要重复的字符串,重复次数);
指定的次数重复字符串。
示例:
SELECT REPLICATE('SQL',3); 结果为:SQLSQLSQL