2010-11-12 6 views
0

OK, donc je suis un peu rouillé sur des parties de T-SQL telles que la manipulation de chaîne je suis une chaîne dans un champ appelé [path] la valeur du champ pourrait ressembler àmanipulation de chemin T-SQL

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

J'ai besoin de mettre à jour le champ (pour tous les enregistrements) afin que le résultat sera

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

qui est une bande de quoi que ce soit avant le premier « \ » et \ '

donc je d approuver si un o ne pourrait me aider à remplir les "blancs"

UPDATE SourceFiles 
    SET Path = <blanks> 

Répondre

3

Quelque chose comme

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

(Si l'on suppose votre colonne Path n'est pas un varchar (max))

Si votre colonne de chemin peut-être pas contenir une barre oblique inverse du tout, vous pourriez vouloir:

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