我只想检索 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;