2010-11-12 48 views
0

OK,所以我有点生疏了对T-SQL的零件,如字符串操作 我在一个叫[路径]字段中输入字符串的字段的值可能看起来像T-SQL路径操作

'foo\Branches\Bar\Baz\Helpers\FileNotFoundResult.cs' 

我需要更新字段(所有记录),这样的结果将是

'Branches\Bar\Baz\Helpers\FileNotFoundResult.cs' 

那就是前第一什么带“\”和“\”

所以我d appricate如果任何o NE可以帮我填写 “空白”

UPDATE SourceFiles 
    SET Path = <blanks> 

回答

3

喜欢的东西

UPDATE SourceFiles 
    SET Path = SUBSTRING(Path,CHARINDEX('\',Path)+1,8000) 

(假设你的路径列不是VARCHAR(MAX))

如果您的路径列可能不包含反斜杠,你可能想要:

UPDATE SourceFiles 
    SET Path = CASE 
        WHEN CHARINDEX('\',Path) = 0 THEN Path 
        ELSE SUBSTRING(Path,CHARINDEX('\',Path)+1,8000) 
       END