2012-05-21 153 views
-1

我想只檢索VARCHAR(15)字符串的第一部分。哪個字符串操作最快?我的數據是這樣的:只檢索字符串的一部分

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

我想結果是:

80 
100 
0 
+0

不存在':'的情況如何? –

回答

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; 
+0

謝謝你我是這樣SELECT LEFT(@FullName,CHARINDEX('',@FullName) - 1)AS [FirstName] –

+0

@SuribabuKandukuri是的,你也可以使用LEFT。這裏沒有性能差異。 –

+0

謝謝大家的迴應 –

相關問題