首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

编程实例-字符串分词查找解决办法

字符串分词,通常是指在一个长字符串中,有多个词语或者单词被逗号(,)或者竖号()分割开来。当我们需要判断这段字符串中,是否有我们想要查找的字或者词时,我们该怎么操作。

有两种方案,一种是自己写分割函数,第二种是用 SQL Server 自带的函数

自己写分割函数,我会这么写:

DECLARE @stringList VARCHAR(MAX) = '1,2,3,4,5,6,7'

DECLARE @XML_String xml =Convert(XML,''+ Replace(@stringList,',','')+'')

SELECT c.value('.','INT') AS Id

FROM @XML_String.nodes('/List/Id') T(c)

如果是用 SQL Server 自带的函数,用 String_Split:

DECLARE @stringList VARCHAR(MAX) = '1,2,3,4,5,6,7'

SELECT * FROM string_split(@stringList,',') T

但是这个函数,很怪,需要开启数据库兼容模式到 130,否则是不能被识别的:

SELECT name,compatibility_level

FROM sys.databases

WHERE name='AdventureWorks2014'

ALTER DATABASE AdventureWorks2014 Set Compatibility_Level = 130

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180104G0XKQS00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券