sqlserver 截取字符串中的汉字

简介: sqlserver 截取字符串中的汉字

 需求:有类似以下字符串,'[{"name":"张三","id":"7217599451873"},{"name":"李四","id":"72175943232"}'

经过处理之后,返回以下格式类容: 张三,李四

即返回字符串中的汉字内容,并且以逗号隔开。

分析:截取字符串中的汉字,并进行拼接,可编写类似以下函数:

CREATE function getNames(@s varchar(500))
returns varchar(200)
as 
begin
DECLARE
  @temp VARCHAR ( MAX ) = ''
  if len(@s) = 0 or @s is null
  return '无'  
SELECT
  @temp = @temp + SUBSTRING ( ch, sv.number, 1 ) 
FROM
  ( SELECT @s AS ch ) t CROSS APPLY [master].dbo.spt_values AS sv 
WHERE
  sv.type = 'P' 
  AND sv.number BETWEEN 1 
  AND LEN( ch ) 
  AND (UNICODE( SUBSTRING ( ch, sv.number, 1 ) ) BETWEEN 19968
  AND 40869 or UNICODE ( SUBSTRING ( ch, sv.number, 1 ) ) = 125)  
  set @temp = replace( @temp ,'}',',')
  set @temp = substring(@temp,1,len(@temp)-1)
return @temp
end

image.gif

根据汉字的unicode码的范围来截取汉字,根据‘}’来进行替换拼接。

参考文章:

sqlserver 判断字符串中是否有中文 - cao919 - 博客园


相关实践学习
使用SQL语句管理索引
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句管理索引。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情: https://www.aliyun.com/product/rds/sqlserver
目录
相关文章
|
7月前
|
SQL
sql server从某个字符开始截取后面的字符串
sql server从某个字符开始截取后面的字符串
115 0
SQLServer中查询的数字列前面补0返回指定长度的字符串
原文:SQLServer中查询的数字列前面补0返回指定长度的字符串 SQLServer中查询的数字列前面补0返回指定长度的字符串:   如:   角本如下: /****** Script for SelectTopNRows command from SSMS ******/ SE...
2786 0
|
SQL
mssql sqlserver 判断字符串大小写的方法分享
原文:mssql sqlserver 判断字符串大小写的方法分享 摘要:下文讲述使用sql脚本的方法判断字符串为大小写的方法分享,如下所示 实验环境:sqlserver 2008 R2 实现思路: 将字符串转换为大写或小写然后转换为二进制编码, 然后和源字符串做对比。
1368 0
sqlserver判断字符串是否是数字
原文:sqlserver判断字符串是否是数字 sql2005有个函数ISNUMERIC(expression)函数:当expression为数字时,返回1,否则返回0。这只是一个菜鸟级的解决办法,大多数情况比较奏效。
1990 0
|
Oracle 关系型数据库 C#
C#各种数据库连接字符串大全——SQLServer、Oracle、Access
在这里统计了.NET项目下常用的数据库连接字符串:SQLServer、Oracle、Access三种数据库(MySql、SQLLite、Excel、HTML Table等等暂不列入)。
2259 0
|
1月前
|
SQL 算法 数据库
【数据库SQL server】关系数据库标准语言SQL之数据查询
【数据库SQL server】关系数据库标准语言SQL之数据查询
57 0

相关实验场景

更多