VARCHAR(15) 文字列の最初の部分だけを取得したい。どの文字列操作が最速ですか? 私のデータは次のようなものです:
80:0:0:0
100:00:00:00
0:00:25:60
結果を次のようにしたい:
80
100
0
VARCHAR(15) 文字列の最初の部分だけを取得したい。どの文字列操作が最速ですか? 私のデータは次のようなものです:
80:0:0:0
100:00:00:00
0:00:25:60
結果を次のようにしたい:
80
100
0
DECLARE @str TABLE(x VARCHAR(15));
INSERT @str VALUES ('80:0:0:0'), ('100:00:00:00'), ('0:00:25:60');
SELECT FirstPart = SUBSTRING(x, 1, CHARINDEX(':', x)-1) FROM @str;
結果:
FirstPart
---------
80
100
0
含まれていなくても文字列全体を表示する必要がある場合は:
、代わりにこれを実行できます。
SELECT SUBSTRING(x, 1, COALESCE(NULLIF(CHARINDEX(':', x), 0), 15)) FROM @str;