我有这样的数据,,a,,c,,,,,i,j,k,,m,,,,,
我需要删除额外的逗号,使其看起来像a,c,i,j,k,m
我正在使用MS SQL Server 2012
答案 0 :(得分:5)
有一个很酷的技巧:
select replace(replace(replace(col, ',', '><'), '<>', ''), '><', ',')
这消除了所有重复的逗号,但不包括开头和结尾的逗号。如果值中没有空格,我建议用空格替换逗号然后再返回,这样就可以使用修剪函数了:
select replace(ltrim(rtrim(replace(replace(replace(replace(col, ',', '><'), '<>', ''), '><', ','), ',', ' '))), ' ', ',')
我不确定是否有更漂亮的方法,除非你定义自己的功能。