我正在用 T-SQL 编写一些脚本并设法获得这种格式的表
ID | Column 1 | Column 2
1 | 451151,abcabc,uibc | abcabc
我基本上喜欢将出现在第 1 列中任何位置的第 2 列中的字符串实例替换为第 2 列中但包含在语音标记中的字符串。
所以输出看起来像
ID | Column 1 | Column 2
1 | 451151,"abcabc",uibc | abcabc
最佳答案
如果您需要搜索并替换逗号之间的全字,请尝试这样的操作(否则 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
关于sql - 将第 1 列中的子字符串中的文本替换为第 2 列中的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19385599/