Выбрать все до первого появления персонажа - PullRequest
2 голосов
/ 06 сентября 2011

Если у меня есть данные, в которых число символов перед | всегда различно, как я могу написать оператор SELECT, чтобы получить все символы вплоть до символа канала?

Пример данных:

asdf|adkfdll|dd
asdkdkdk|da|d

Ответы [ 2 ]

5 голосов
/ 06 сентября 2011
;WITH T(C) AS
(
SELECT 'asdf|adkfdll|dd' UNION ALL
SELECT 'asdkdkdk|da|d' UNION ALL
SELECT ''
)
SELECT  LEFT(C, CHARINDEX('|',C + '|') -1)
FROM T
3 голосов
/ 06 сентября 2011

Вы можете использовать charindex с substring:

select  substring(col1, 1, charindex('|',col1))
from    (
        select  'asdf|adkfdll|dd' as col1
        union all
        select  'asdkdkdk|da|d'
        ) as YourData
where   charindex('|',col1) > 0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...