开发者

Select all until first occurence of a character

If I have data in which the number of characters before a | are always different how can I write开发者_运维技巧 a SELECT statement to get all the characters up to a pipe character?

Sample data:

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


You could use charindex with 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
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜