-1

VARCHAR(15) 文字列の最初の部分だけを取得したい。どの文字列操作が最速ですか? 私のデータは次のようなものです:

80:0:0:0
100:00:00:00
0:00:25:60

結果を次のようにしたい:

80
100
0
4

1 に答える 1

3
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;
于 2012-05-21T13:44:52.413 に答える