-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 回答