我有一列充满了重复的文件路径:
\C:298788DOC1SUB1\C:298788DOC1SUB1FILE.txt
\C:298788DOC1SUB1\C:298788DOC1SUB1FILE.txt
\C:298788DOC1SUB1\C:298788DOC1SUB1FILE.txt
我只需要字符串的第二部分,即。 C:298788DOC1SUB1FILE.txt
如何用什么替换到三个反斜杠。我试过:
UPDATE [TABLE].[dbo].[ColumnName]
SET [ColumnName] = REPLACE([ColumnName], '%\', '');
它说所有行都已更新,但没有任何变化。假设它与反斜杠有关。
使用 SQL SERVER 2012。
使用 stuff()
select col = stuff(col,1,charindex('\',col,2)+2,'')
from tbl
Rextester演示:http://rextester.com/QRKWP8606
返回:
+------------------------------+
| col |
+------------------------------+
| C:298788DOC1SUB1FILE.txt |
| C:298788DOC1SUB1FILE.txt |
| C:298788DOC1SUB1FILE.txt |
+------------------------------+
作为update
:
update tbl
set col = stuff(col,1,charindex('\',col,2)+2,'')
where charindex('\',col,2)>0