一般我们在数据库的表字段存储字典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, '')FROM table1
就是这么简单,如果不清楚 FOR XML PATH('') 作用,以及 STUFF 、 dbo.fn_SplitStr函数 可以看下本文说的那两篇文章。