字符串函数
在这张数据表的基础上执行语句
ASCII(获取ASCII码)函数
ASCII函数返回字符表达式中最左侧的字符的 ASCII 代码值
返回类型:int类型
ASCII码值对照表如表
--ASCII(获取ASCII码)函数
DECLARE @POSITION INT,@STRING CHAR(4)
SELECT @POSITION=1,@STRING='LOVE'
WHILE @POSITION<=DATALENGTH(@STRING)
BEGIN
SELECT ASCII(SUBSTRING(@STRING,@POSITION,1))AS 'ASCII值',
SUBSTRING(@STRING,@POSITION,1) AS 字符
SELECT @POSITION=@POSITION+1
END
CHARINDEX函数
CHARINDEX函数返回字符串中指定表达式的起始位置
--CHARINDEX函数
--返回指定字符串的起始位置
SELECT CHARINDEX('咪',NAME) AS 起始位置 FROM UserInfor WHERE NAME='一只咪'
LEFT函数
LEFT函数返回字符串中从左边开始指定个数的字符
--LEFT函数
SELECT LEFT('陌上花开,君可缓缓归矣',4) AS 左边四个字符
--查询表中的姓氏,并计算每个姓氏的数量
SELECT ID,NAME FROM UserInfor
SELECT LEFT(NAME,1) AS 姓氏,
COUNT (LEFT(NAME,1)) AS 数量
FROM UserInfor GROUP BY LEFT(NAME,1)
RIGHT函数
RIGHT函数返回字符表达式中从起始位置(从右端开始)到指定字符位置(从右端开始计数)的部分。
--RIGHT函数
SELECT RIGHT(ID,4) AS 编号,NAME,SEX FROM UserInfor
LEN函数
LEN函数返回字符表达式中的字符数。如果字符串中包含前导空格和尾随空格,则函数会将它们包含在计数内。LEN 对相同的单字节和双字节字符串返回相同的值。
--LEN函数
--LEN函数返回字符表达式中的字符数(包含空格)
SELECT LEN('ABCDEF') AS 字符个数,
LEN('陌上人如玉,公子世无双') AS 字符个数,
LEN('AVXHUSII ASD') AS 字符个数
REPLACE函数
REPLACE函数将表达式中的一个字符串替换为另一个字符串或空字符串后,返回一个字符表达式
--REPLACE函数 替换
SELECT REPLACE('我想你','想','爱') AS 替换结果
REVERSE函数
REVERSE函数按相反顺序返回字符表达式。
--REVERSE函数 按相反顺序返回字符表达式
SELECT REVERSE('一只咪') AS 反转结果
STR函数
STR函数返回由数字数据转换来的字符数据
第一个数值:带小数点的近似数字 (float) 数据类型的表达式.
第一个数值:带小数点的近似数字 (float) 数据类型的表达式.
第三个数值:小数点后的位数,必须小于或等于 16.
注意:当表达式超出指定长度时,字符串为指定长度返回 *
--STR函数 返回由数字数据转换来的字符数据
--注意:当表达式超出指定长度时,字符串为指定长度返回 **
--第一个数值:带小数点的近似数字 (float) 数据类型的表达式.
--第二个数值:总长度,它包括小数点、符号、数字以及空格,默认值为 10.
--第三个数值:小数点后的位数,必须小于或等于 16.
SELECT STR(23.46,5) AS 'STR',
STR(12.443,5,2) AS 'STR',
STR(12.456,5,2) AS 'STR',
STR(12.34,1) AS 'STR'
SUBSTRING函数
返回的字符串类型与指定表达式的类型相同
--SUBSTRING函数
--在NAME字段中从第二位开始截取字符串,共两位
SELECT NAME,SUBSTRING(NAME,2,2) AS '编号' FROM UserInfor