2015-11-04 131 views

回答

1

這是它 - 文字部分和數字部分:

DECLARE @String VARCHAR(50) = '059 - Gaffey Stop.' 

SELECT SUBSTRING(@String , CHARINDEX('-' , @String) + 1, LEN(@String)) AS LetterPart, 
CAST(LEFT(@String, PATINDEX('%[^0-9]%', @String+'.') - 1) AS INT) AS NumPart 
2

試着這麼做....

Declare @String VARCHAR(50) = '059 - Gaffey St.' 

Select SUBSTRING(@String , CHARINDEX('-' , @String) + 1, LEN(@String)) 

編輯

只得到59沒有前導零

Select CAST(LEFT(@String , CHARINDEX('-' , @String) - 1) AS INT) 
+0

以及如何只獲得作爲結果,如果59..skipping 0在前面 – user1030181

0

您應該能夠使用類似:


substring('059 - Gaffey St.', charindex('-', '059 - Gaffey St.') + 1, len('059 - Gaffey St.')) 

您可能希望通過LTRIM將其包圍(RTRIM(...))至刪除最終的空間。