Манипулирование путями в T-SQL - PullRequest
0 голосов
/ 12 ноября 2010

ОК, поэтому я немного заржавел в некоторых частях T-SQL, таких как манипуляции со строками. Я получил строку в поле с именем [путь], значение поля может выглядеть как

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

Iнеобходимо обновить поле (для всех записей), чтобы результат был

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

, то есть полоска чего-либо перед первым '\' и '\'

, поэтому я 'Буду признателен, если кто-нибудь поможет мне заполнить "пробелы"

UPDATE SourceFiles
   SET Path = <blanks>

1 Ответ

3 голосов
/ 12 ноября 2010

Что-то вроде

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

(при условии, что ваш столбец Path не varchar (max))

Если ваш столбец пути может вообще не содержать обратную косую черту, вы можете захотеть:

UPDATE SourceFiles
    SET Path = CASE
                   WHEN CHARINDEX('\',Path) = 0 THEN Path
                   ELSE SUBSTRING(Path,CHARINDEX('\',Path)+1,8000)
               END
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...