我在列中有两行,如下所示:
所以我想从第一个删除第一个comma
,从第二个删除前两个。我想要这样的输出egxample:
由于
答案 0 :(得分:1)
首先,请阅读Is storing a delimited list in a database column really that bad?,在这里你会看到很多理由为什么这个问题的答案是绝对是的!
阅读完毕后,您应该规范化您的数据库。
如果您无法规范化数据库,则可以使用STUFF
和PATINDEX
删除第一个逗号。
创建并填充样本表(请在将来的问题中保存此步骤)
DECLARE @T AS TABLE
(
col varchar(100)
)
INSERT INTO @T VALUES
('a, b,c'),
(', d, e,f'),
(', , g, h,i, j')
查询:
SELECT STUFF(col, 1, PATINDEX('%[^, ]%', col)-1, '') As col
FROM @T
结果:
col
a, b,c
d, e,f
g, h,i, j