2

我在 T-SQL 中编写了一些脚本并设法获得了这种格式的表

ID  | Column 1            | Column 2
1   | 451151,abcabc,uibc  | abcabc

Id 基本上喜欢用第 2 列中的字符串替换第 2 列中出现在第 1 列中任何位置但包含在语音标记中的字符串的任何实例。

所以输出看起来像

ID  | Column 1              | Column 2
1   | 451151,"abcabc",uibc  | abcabc
4

2 回答 2

2

如果您需要搜索和替换逗号之间的全字,请尝试这样的操作(其他Replce(column1, column2)功能就足够了):

小提琴演示

update yourTable
set column1 = substring(       
        replace(',' + column1 + ',', ',' + column2 + ',', ',"' + column2 + '",'),
        2,len(column1)+2 );
where column2 is not null

结果:

| ID |              COLUMN1 | COLUMN2 |
|----|----------------------|---------|
|  1 | 451151,"abcabc",uibc |  abcabc |
|  2 |    123456,wxyz,mnop, |      yz | --NOTE: yz not replaced as it is not a full word between commas
于 2013-10-15T15:54:41.867 回答
0

没有测试,但你可以试试这个吗?

UPDATE mytable SET column1 = REPLACE(column1,column2,'"' + column2 + "'")
于 2013-10-15T15:54:45.647 回答