SQL Server的字符串函数怎么用
发布时间:2024-01-01 16:15:37 所属栏目: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的字符串函数怎么用,有哪些简单实例”的介绍了,感谢各位的阅读,希望这篇文章能帮助大家解决问题。 (编辑:PHP编程网 - 黄冈站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐