スペースまでのデータを選択しますか?質問する

スペースまでのデータを選択しますか?質問する

以下の例のような MSSQL データベース フィールドがあります。

u129  james
u300  chris
u300a jim
u202  jane
u5    brian
u5z   brian2

最初の文字セットを選択する方法はありますか? 基本的に、最初の行のスペースまでのすべての文字を選択しますか?

LEFT、RIGHT、LEN をいろいろ試してみましたが、私の例のように可変の文字列長でそれを実行する方法がわかりませんでした。

ありがとう!

ベストアンサー1

LEFTとの組み合わせを使用してCHARINDEX最初のスペースのインデックスを見つけ、その左側にあるすべてのものを取得できます。

 SELECT LEFT(YourColumn, charindex(' ', YourColumn) - 1) 

列にスペースがない場合は次のようになります。

SELECT LEFT(YourColumn, CASE WHEN charindex(' ', YourColumn) = 0 THEN 
    LEN(YourColumn) ELSE charindex(' ', YourColumn) - 1 END)

おすすめ記事