sql server常用字符串函数

时间:2023-03-09 23:41:45
sql server常用字符串函数
--返回字符表达式中最左侧字符的ASCII代码值
select ASCII('a')--
select ASCII('A')--
select ASCII('aA')-- --将整数ASCII代码转换为字符
select CHAR(97)--a
select CHAR(65)--A
select CHAR('')--A
SELECT CHAR('A')--在将 varchar 值 'A' 转换成数据类型 int 时失败。 --返回字符表达式最左侧指定数目的字符串
select LEFT('abcdefg',0)--''
select LEFT('abcdefg',1)--'a'
select LEFT('abcdefg',2)--'ab'
select LEFT('abcdefg',100)--'abcdefg'
select LEFT('abcdefg',-1)--传递到 left 函数的长度参数无效。 --返回字符表达式最右侧指定数目的字符串
select RIGHT('abcdefg',0)--''
select RIGHT('abcdefg',1)--'a'
select RIGHT('abcdefg',2)--'fg'
select RIGHT('abcdefg',100)--'abcdefg'
select RIGHT('abcdefg',-1)--传递到 right 函数的长度参数无效。 --SUBSTRING(被截取字符串,开始位置,长度)
SELECT SUBSTRING('abcd',1,1)--a
SELECT SUBSTRING('abcd',2,2)--bc
SELECT SUBSTRING('abcd',2,5)--bcd
SELECT SUBSTRING('abcd',2,0)--''
SELECT SUBSTRING('abcd',2,-1)--传递到 substring 函数的长度参数无效 --返回转换为小写的字符串
select LOWER('abcdefg')--'abcdefg' --返回转换为大写的字符串
select UPPER('abcdefg')--ABCDEFG --返回去左空格的字符串
select LTRIM(' abcdefg')--'abcdefg' --返回去右空格的字符串
select RTRIM('abcdefg ')--'abcdefg' --返回表达式中指定字符的开始位置
--charindex(expression1 ,expression2 , start_location )
-----expression1在expression2 中的开始位置
-----start_location默认从位置1处开始查询
select CHARINDEX('a','abcdefg')--
select CHARINDEX('a','abcdefg',1)--
select CHARINDEX('b','abcdefg',1)--
select CHARINDEX('b','abcdefg',2)--
select CHARINDEX('b','abcdefg',3)--
select CHARINDEX('cd','abcdefg',3)-- --返回指定表达式中模式第一次出现的开始位置
select PATINDEX('%cd%','abcdefg')--
select PATINDEX('%_cd%','abcdefg')--
select PATINDEX('%ca%','abcdefg')-- --返回为成为有效的SQL SERVER分隔标识符而添加了分隔符的UNICODE字符串
select QUOTENAME('a')--[a]
select QUOTENAME('abcd')--[abcd]
select QUOTENAME('abcd','')--[abcd] --replace(被搜索字符串,要被替换的字符串,替换的字符串)
select REPLACE('abcdefg','cd','a')--abaefg
select REPLACE('abcdefg','cd','')--abefg --返回指定次数重复的表达式
select REPLICATE('a',4)--aaaa
select REPLICATE('abc|',4)--abc|abc|abc|abc| --返回反转后的字符串
select REVERSE('ABC')--CBA --返回字符串的长度
select LEN('abcdefg')-- --删除指定长度的字符,并在指定的起点处插入另一组字符
--stuff(character_expression , start , length ,character_expression)
-----character_expression被搜索字符串
-----start开始位置
-----length要删除的长度
-----character_expression替换字符串
select STUFF('abcd',1,4,'')--
select STUFF('abcdefg',2,3,'')--a1111efg
select STUFF('abcdefg',2,3,'')--a11efg --返回指定个数空格的字符串
select 'A'+ space(2)+'B'--A B