SQLServer系统函数之字符串函数
一.字符串函数
参数character_expression:由字符数据组成的字母数字表达式,可以是常量或变量,也可以是字符列或二进制数据列
参数integer_expression:是正整数,如果 integer_expression 为负,则返回空字符串
1.SubString():截取指定的字符串
--substring(character_expression,integer_experssion,integer_expression)--character
_expression: 表达式(varchar、nvarchar、char、text、ntext、varbinary、image)--integer
_experssion:开始位置(bigint)--integer
_expression 长度(bigint)不能为负数--
返回字符表达式、二进制表达式、文本表达式或者图像表达式的一部分(varchar、nvarchar、char、text、ntext、varbinary、image)--简而言之:substring(字符串,开始位置,截取长度)
selectsubstring("Hello",1,4) --返回Hell
select StuName,substring(StuName,1,2) as"姓名的前两位"from Student
2.Replace ():替换字符串
--replace(character_expression,searchstring,replacementstring)--
character_expression:是函数要搜索的有效字符表达式(varchar,nvarchar)--character_expression
:是函数尝试定位的有效字符表达式(varchar,nvarchar)--
replacementstring:是用作替换表达式的有效字符表达式(varchar,nvarchar)--
返回用第三个表达式替换第一个表达式中出现的所有第二个表达式--简而言之:replace(字符串,需要被替换的字符串,替换成的字符串)
selectreplace("MingRMRM","RM","Ri") --返回MingRiRi
selectreplace("1234","1","2") --返回2234
3.Left():取左边指定个数的字符
--left(character_expression,integer_expression)--
character_expression:字符串或者二进制数据表达式(varchar,nvarchar)--
integer_expression:指定character_expression将返回的字符数,不能为负数(int)--
返回字符表达式中最左侧指定数目的字符--简而言之:left(字符串,指定最左侧返回的数目)
selectleft("中华有为",2) --返回中华
selectleft(StuName,1) from Student --返回姓名的第一个字
4.Right():取右边指定个数的字符
--right(character_expression,integer_expression)--
character_expression:字符串或者二进制数据表达式(varchar,nvarchar)--
integer_expression:指定character_expression将返回的字符数,不能为负数(int)--
返回字符表达式中最右侧指定数目的字符--
简而言之:right(字符串,指定最右侧返回的数目)selectright("中华有为",2) --返回有为
selectright(StuName,1) from Student --返回姓名的最后一个字
5.ASCII():获取ASCII码
--ASCII(character_expression)--
character_expression:char或者varchar类型的表达式(char、varchar)--
返回字符表达式中最左侧的字符的ASCII代码--
返回类型:int--
注意:ASCII码共127个,其中8、9、10、13分别转换为退格、制表、换行和回车字符selectASCII("A") --返回ASCII码65 按键A
selectASCII("") --返回ASCII码32 按键[space] 空格键
6.Char():转换成字符
--char(integer_expression)--
将整数ASCII代码转换成字符串selectchar(65) --返回A
selectchar(32) --返回空格
7.CharIndex():返回字符串起始位置
--charindex(character_expression1,character_expression2,[,start_location])--character_
expression1:包含要查找的序列的字符串表达式--character_
expression2:要搜索的字符表达式--
start_location:开始位置,如果未指定则将expression2的开头搜索--
返回字符串中指定表达式的起始位置--
[]里面的内容说明可以省略,缺省情况下,说明用‘[]’引用selectcharindex("为","中华有为")--返回4
selectcharindex("为","中华有为",5) --返回0 搜索字符串的位置值有4位
selectcharindex("为","中华有为",2)--返回4 返回的是字符串所在搜索字符串的位置
8.PatIndex()返回表达式模式的字符串的起始位置
--patindex(character_expression1,characterexpression2)--character_
expression1:搜索模式文字--character_
expression2:要搜索的表达式--
精确匹配,完全匹配1,不完全匹配0--
模糊匹配,返回从第几位开始匹配--
返回指定表达式模式的第一次出现的开始位置selectpatindex("%a%","123456a") --返回6 模糊匹配
selectpatindex("a","123456a") --返回0 精确匹配
9.Len():返回字符个数
--len(character_expression)--
character_expression:表示要处理的表达式(varchar、nvarchar)--
返回字符表达式中的字符数(int)selectlen("abcd")--返回4
selectlen(12345)--返回5
10.Stuff():在一个字符串中,删除指定长度的字符,并在该位置插入一个新的字符串
--stuff(character_expression,bigint_expression1,bigint_expression2,character_expression1)--
character_expression:要搜索的表达式(varchar、nvarchar、varbinary)--
integer_expression1:开始位置--
integer_expression2:字符数--
character_expression1:替换的表达式selectstuff("abcdefg",3,2,"aa") --返回abaaefg
11.Difference():SOUNDEX值之差
--difference ( character_expression , character_expression )--
character_expression:类型 char 或 varchar 的表达式--
以整数返回两个字符表达式的SOUNDEX值之差,返回的值从 0 到 4 不等,4 表示 SOUNDEX 值相同--
返回类型:intSELECTDIFFERENCE("Test", "Test") --4
12.Soundex():由四个字符表示的soundex代码
--soundex(character_expression)--
返回由四个字符表示的soundex代码selectsoundex("abcd") --返回A120
13.Lower():大写字母转小写字母
--lower(character_expression)--
character_expression:字符串或者二进制数据表达式(varchar、nvarchar)--
返回将大写字符转换为小写字符的字符表达式selectlower("ABCD") --返回abcd
selectlower("张San") --返回张san
14.Upper():小写字母转大写字母
--upper(character_expression)--
character_expression:字符串或者二进制数据表达式(varchar、nvarchar)--
返回将小写字符转换为大写字符的字符表达式selectupper("abcd") --返回ABCD
selectupper("张San") --返回张SAN
15.Ltrim():清除左边字符的空格
--ltrim(character_expression)--
character_expression(varchar、nvarchar)--
返回删除了前导空格之后的字符表达式selectltrim(" Test Test ") --返回Test Test
16.Rtrim():清除右边字符的空格
--rtrim(character_expression)--
character_expression(varchar、nvarchar)--
返回截断了所有尾随空格之后的字符表达式selectrtrim(" TestTest ") --返回 TestTest
17.Nchar():给定的整数代码的Unicode字符
--nchar(integer_expression)--
integer_expression(int)--
返回具有给定的整数代码的Unicode字符--
Unicode:统一码、万国码、单一码selectnchar(100) --返回d
18.Quotename():返回带有分隔符的 Unicode 字符串,主要作用就是在SQL语句中,给列名、表名等加个[]、’’
--quotename(character_expression,[,character_expression1])--
character_expression,unicode字符数据构成的字符串,character_expression是sysname值--
character_expression1:引号字符,如果未指定则使用方括号作为分隔符([ ])--
quotename()的主要作用就是在存储过程中,给列名、表名等加个[]、’’等以保证sql语句能正常执行selectquotename("stuname","""") --返回"stuname"
selectquotename("student")--返回[student]
19.Replicate():按指定次数重复字符表达式
--replicate(character_expression ,integer_expression)--
character_expression:需要复制的表达式--
integer_expression:复制次数selectreplicate("abcd",3) --返回abcdabcdabcd
20.Reverse():返回字符表达式的逆向表达式
--reverse(character_expression)--
返回字符表达式的逆向表达式selectreverse("abcd") --返回dcba
21.Space():返回由重复空格组成的字符串
--space(integer_expression)--
返回由重复空格组成的字符串--
返回类型:charselectspace(2)--返回2个空格
22.Str():将数值表达式转换字符表达式
--str(float_expression[,length[,demical_expression]])--
length:是总长度,包括小数点、符号、数字或空格。默认值为 10--
demical_expression:小数点右边的位数--
返回从数值表达式转换而来的字符表达式--
返回类型:charselectstr(23.35,8,3) --返回 23.350
selectlen(str(23.35,8,3)) --返回8
23.UniCode():表达式第一个字符Unicode的整数值
--unicode(character_expression)--
character_expression:需要转换的表达式--
返回表达式第一个字符Unicode的整数值selectunicode("abcd") --返回97
24.String_Split():分隔字符串,返回表,列名为value
--string_split(character_expresstion1,character_expresstion2)--
character_expresstion1:需要分隔的字符串--
character_expresstion2:分隔符--
返回子字符串的单列的表(table) 该列名为“value”select value from string_split("jsp-asp","-")
以上是 SQLServer系统函数之字符串函数 的全部内容, 来源链接: utcz.com/z/531973.html