【发布时间】:2014-08-25 19:37:49
【问题描述】:
我有一个表 XYZ,其中包含 FileName 列,其值如下:
CCA_Type-PROPOSAL_Id-45845_Test1.txt
CPA_Type-PROPOSAL_Id-490845_Test2.txt
我想更新此列,使其仅包含文件名并删除前面的其他字符:
Test1.txt
Test2.txt
因此我写了以下内容:
Update XYZ
set FileName = (select RIGHT(FileName,CHARINDEX('_',REVERSE(FileName),0)-1))
但如果 FileName 的值类似于:
CCA_Type-PROPOSAL_Id-45845_Test_RR1.txt
我的脚本返回 RR1.txt 而不是 Test_RR1.txt!它找到最后一个下划线并从那里返回子字符串。如何更改它以便获得第三个下划线并在其后返回一个子字符串!
【问题讨论】:
-
改为搜索
test?
标签: sql sql-server substring