Если у меня есть данные, в которых число символов перед | всегда различно, как я могу написать оператор SELECT, чтобы получить все символы вплоть до символа канала?
|
SELECT
Пример данных:
asdf|adkfdll|dd asdkdkdk|da|d
;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
Вы можете использовать charindex с substring:
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