Как извлечь строки между двумя специальными символами в TSQL - PullRequest
6 голосов
/ 17 июня 2011

Как написать скрипт TSQL, чтобы вывести "Monday_Miami" из "Email_Monday_Miami_June"

По сути, я хочу извлечь все между 1 и 3 "_"

Спасибо миллион

Ответы [ 2 ]

19 голосов
/ 17 июня 2011
DECLARE @c varchar(100)
SET     @c = 'Email_Monday_Miami_June' 

SELECT SUBSTRING(
    @c, 
    CHARINDEX('_', @c) + 1, 
    LEN(@c) - CHARINDEX('_', @c) - CHARINDEX('_', REVERSE(@c))
)

возвращает

Monday_Miami
5 голосов
/ 17 июня 2011
declare @s varchar(max) = 'Email_Monday_Miami_June'

select parsename(replace(@s, '_', '.'), 3)+'_'+parsename(replace(@s, '_', '.'), 2)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...