加入收藏 | 设为首页 | 会员中心 | 我要投稿 常州站长网 (https://www.0519zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

SQL Server的字符串函数怎么用

发布时间:2024-01-01 16:15:39 所属栏目:MsSql教程 来源:DaWei
导读: 今天这篇给大家分享的知识是“SQL Server的字符串函数怎么用,有哪些简单实例”,小编觉得挺不错的,对大家学习或是工作可能会有所帮助,对此分享发大家做个参考,希望这篇“
今天这篇给大家分享的知识是“SQL Server的字符串函数怎么用,有哪些简单实例”,小编觉得挺不错的,对大家学习或是工作可能会有所帮助,对此分享发大家做个参考,希望这篇“SQL Server的字符串函数怎么用,有哪些简单实例”文章能帮助大家解决问题。
在开发T-SQL时,经常会需要对字符串进行各种各样的操作,下面介绍常用的字符串函数。

一、编码转换
1、获取字符的ASCII码:ascii
ASCII(espression)
这里的expression是一个返回char或varchar数据类型的表达式,ASCII函数仅对表达式最左侧的字符返回ASCII码值。

返回值:int数据类型。

注意:如果是多个字符的字符串,也只是返回第一个字符的ASCII码值。

select ASCII('f')    --输出 102
2、获取ASCII码对应的字符:char
char(integer_expression)
返回值:char型字符

select char(102)    -- 输出f
3、获取字符的unicode编码: unicode
unicode('ncharacter_expression')
这里的ncharacter_expression是nchar或nvarchar类型的表达式。函数仅会返回第一个字符的unicode编码。

返回值:int类型数据

SELECT Unicode('飞')    -- 输出 39134
4、获取unicode编码对应的字符: nchar
nchar(integer_expression)
返回值:unicode字符

SELECT nchar(39134)        -- 输出 飞

二、位置查找
1、获取字符串第一次出现位置:patindex
patindex( '%pattenr%' , expression )
patindex函数返回指定表达式中某模式第一次出现的起始位置;如果在全部有效的文本和字符数据类型中没有找到该模式则返回0。

注意:PatIndex模式为通配符, CharIndex不能使用通配符

参数说明:pattern:一个文本字符串。可以使用通配符,但pattern之前和之后必须有%字符(搜索第一个或自后一个字符时除外)。因为在T-SQL中,%代表模式匹配。

返回值:如果expression的数据类型为varchar(max)或nvarchar(max),则为bigint,否则int,即pattern指定的字符串在expression中第一次出现的位置。

select patindex('%llo%','hello world')    --输出3,第一次出现llo是在第3个字符位置
2、指定位置搜索字符串中的内容:charindex
charindex函数用于在指定的字符串中搜索特定的字符串,并可以指定开始搜索的位置,返回第一次找到目标字符串的起始位置。

charindex ( expression1 , expression2 [ , start_location] )
参数说明:

expression1:一个字符串数据类型的表达式,其中包含要查找的字符的序列。
expression2:一个字符串数据类型的表达式,通常是一个为指定序列搜索的列。
start_location:开始在expression2中搜索expression1是的字符位置。如果start_location未被指定、是一个负数或零,则将从expression2的开头开始搜索。start_location可以是bingint类型。
返回值:如果expression2的数据类型为varchar(max)、nvarchar(max)或varbinary(max),则为bigint,否则为int。

select charindex('456','123456789')    -- 输出 4    从123456789中检索456出现的位置
select charindex('456','123456789',4)    -- 输出 4

三、获取字符串长度
1、获取字符串长度: len
len函数用于获取字符串的长度(字符数),但不包括右边的空格。左边的空格和中间的空格计算在内。

len( string_expression )
参数说明:string_expression:要计算长度的字符串。

返回值:expression数据类型为varchar(max)、nvarchar(max)或varbinary(max),则为bigint。否则为int。

select len('天下之大,无奇不有')    -- 输出 9
2、获取字符串字节数: datalength
datalength函数用于获取字符串的字节数,而不是字符数。该函数不仅适合字符串数据,还适合文本(text、ntext)、二进制数据(varbinary、binary)和图像(image)等任意类型的数据。空格均计算在内。

datalength(expression)
返回值:如果expression数据类型为varchar(max)、nvarchar(max)或varbinary(max)数据类型,则返回bigint;否则返回int。

select datalength('我是一个兵')    --输出 10
select len('我是一个兵')    --输出 5
select datalength('abcde')    --输出5
select len('abcde')    --输出5

四、截取字符串
1、截取左边字符串: left
left函数用于截取从左边第一个字符开始,指定长度的字符串。其执行效果等于substring(expression,1,length)。

left(character_expression,integer_expression)
参数说明:

character_expression:字符或二进制表达式,可以是常量、变量或表达式。
integer_expression:正整数,指定返回的字符数。
返回值: varchar或nvarchar,变长字符串。

select left('123456789',3)    --输出 123
2、截取右边字符串:right
right函数用于截取从右边第一个字符开始,指定长度的字符串。其执行效果等于SUNSTRING(expression,len(expression)-length+1,length)。

right(character_expression,integer_expression)
参数说明:

character_expression:字符或二进制表达式,可以是常量、变量或表达式。
integer_expression:正整数,指定返回的字符数。
返回值: varchar或nvarchar,变长字符串。

select right('123456789',3)    --输出 789
3、截取字符串: substring
substring函数可以对字符串进行字串的截取操作。

substring( expression,start,length)
参数说明:

expression:是字符串、二进制字符串、文本、图像、列或包含列的表达式,但不要使用包含聚合函数的表达式。
start:指定子字符串开始位置的整数,start可以使bigint类型。位置从1开始。
length:一个正整数,指定要返回的expression的字符数或字节数。如果length为负,则会返回错误。length可以使bigint数据类型。
返回值:如果expression是受支持的字符数据类型,则返回字符数据。如果expression是受支持的binary数据类型,则返回二进制数据。

select substring('hello',1,2)    --输出 he 与C#有点不同,它第一个字符是从1开始的

以上就是关于“SQL Server的字符串函数怎么用,有哪些简单实例”的介绍了,感谢各位的阅读,希望这篇文章能帮助大家解决问题。

(编辑:常州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章