MSSQL-字符串分离与列记录合并成一行混合使用

    一般我们在数据库的表字段存储字典Id,如果有多个的话一般是用,或分隔符分隔(12,14),列表显示的时候是显示字典名,那如果要在数据库将字典Id转成用户看得懂的字典名,该怎么办呢?

    我们这时候可以结合之前说到的 字符串分离(Split函数) 列记录合并成一行 这两篇文章来完成上述功能。

SELECT  STUFF(( SELECT  ',' + d.Name
                FROM    dbo.fn_SplitStr(feild, ',') AS s
                JOIN    dbo.tb_Dictionary AS d ON d.ID = s.ID
              FOR
                XML PATH('')
              ), 1, 1, ''),name,age 
FROM    table1

     就是这么简单,如果不清楚 FOR XML PATH('') 作用,以及 STUFF 、 dbo.fn_SplitStr函数 可以看下本文说的那两篇文章。

原文地址:https://www.cnblogs.com/zuqing/p/5133802.html