从字符串中删除逗号

时间:2017-07-26 06:09:29

标签: sql sql-server sql-server-2012

我在列中有两行,如下所示:

  1. ,Josiah Tongari Street,Labone,Accra Metropolitan,Greater Accra,Ghana
  2. ,,阿克拉,大阿克拉,加纳
  3. 所以我想从第一个删除第一个comma,从第二个删除前两个。我想要这样的输出egxample:

    1. Josiah Tongari Street,Labone,Accra Metropolitan,Greater Accra,Ghana 2.Accra,大阿克拉,加纳
    2. 由于

1 个答案:

答案 0 :(得分:1)

首先,请阅读Is storing a delimited list in a database column really that bad?,在这里你会看到很多理由为什么这个问题的答案是绝对是的!
阅读完毕后,您应该规范化您的数据库。

如果您无法规范化数据库,则可以使用STUFFPATINDEX删除第一个逗号。

创建并填充样本表(在将来的问题中保存此步骤)

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