我想只檢索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;
謝謝你我是這樣SELECT LEFT(@FullName,CHARINDEX('',@FullName) - 1)AS [FirstName] –
@SuribabuKandukuri是的,你也可以使用LEFT。這裏沒有性能差異。 –
謝謝大家的迴應 –
不存在':'的情況如何? –