sqlserver模仿mysql函数FIND_IN_SET,group_concat的功能

sqlserver模仿mysql函数FIND_IN_SET,group_concat的功能,第1张

概述一、判断某个逗号隔开的字段中有某个值 FIND_IN_SET('a','a,b,c,d') 用 CHARINDEX(','+'b'+',' , ','+'a,b,c'+',') > 0 替代 二、模仿mysql的group_concat的示例 SELECT id,            val=( SELECT [value] +','                    FROM tb A

一、判断某个逗号隔开的字段中有某个值

FIND_IN_SET('a','a,b,c,d') 用 CHARINDEX(','+'b'+',','+'a,c'+',') > 0 替代


二、模仿MysqL的group_concat的示例

SELECT ID,            val=( SELECT [value] +','                    FROM tb AS b                    WHERE b.ID = a.ID               FOR XML PATH('')  )     FROM tb AS a      GROUP BY ID
SELECT ID,            [val]=STUFF( (SELECT ','+[value]                          FROM tb AS b                          WHERE b.ID = a.ID                          FOR XML PATH('')) , 1 , '' )    FROM tb AS a      GROUP BY ID
--删除、创建临时表drop table #table1;select * into #table1from (SELECT myID,'auto' as type)allData--把数据按myID分类链接,然后按链接后数据的长度倒序排序select * from (  select myID,  val=STUFF( (SELECT '、'+type                          FROM #table1 AS b                          WHERE b.myID = ta.myID                          FOR XML PATH('')) , '' )  from #table1 ta  group by myID) dd order by LEN(val) desc
总结

以上是内存溢出为你收集整理的sqlserver模仿mysql函数FIND_IN_SET,group_concat的功能全部内容,希望文章能够帮你解决sqlserver模仿mysql函数FIND_IN_SET,group_concat的功能所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1172773.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-02
下一篇 2022-06-02

发表评论

登录后才能评论

评论列表(0条)

保存