2011-09-06 12 views
2

|より前の文字数が常に異なるデータがある場合、どのようにしてSELECT文を作成してすべての文字をパイプ文字にすることができますか?文字の最初の出現までのすべてを選択

サンプルデータ:

asdf|adkfdll|dd 
asdkdkdk|da|d 
+1

なし 'を持つレコードをどうするか|'文字?それは文字列全体を表示するか何も表示しませんか? –

答えて

4
;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

あなたはsubstringcharindexを使用することができます。

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 
関連する問題