首页 > 技术文章 > MSSQL-字符串分离与列记录合并成一行混合使用

zuqing 2016-01-15 17:15 原文

    一般我们在数据库的表字段存储字典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函数 可以看下本文说的那两篇文章。

推荐阅读