选择全部直到角色第一次出现

Cav*_*ide 2 sql sql-server-2005

如果我有一个数据,其中a之前的字符数|总是不同的,我怎么能写一个SELECT语句来获取所有字符到管道字符?

样本数据:

asdf|adkfdll|dd
asdkdkdk|da|d
Run Code Online (Sandbox Code Playgroud)

Mar*_*ith 5

;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
Run Code Online (Sandbox Code Playgroud)