2014-10-01 55 views
-2

我是數據庫PL/SQL的初學者。我現在用的子功能sql服務器中的SubString函數

@String = 'Y1223456883002' 

在SQL Server像

SUBSTRING(@String,LEN(@String),2) 

拿到最後兩個數字,但在這裏,產量只有2 有人能向我解釋如何得到最後兩個數字與零?

+0

使用SUBSTRING(@ String,LEN(@String)-1,2)。第二個參數指定了開始的位置。你指定了最後一個字符。 – Barry 2014-10-01 08:43:34

+0

是的。 RTFM。多次插入參數可能會混淆它們。 – TomTom 2014-10-01 09:04:50

+0

@Barry謝謝。現在它的工作以及我想要的。現在它返回零。 – 2014-10-01 09:08:27

回答

0

要獲得SQL Server中的字符串的最後2個字符就像你提到你應該使用

DECLARE @string varchar(10) = 'Y1223456883002' 
SELECT RIGHT(@string, 2) 

如果你想使用字符串函數,你應該(作爲@Barry提到的)使用方法:

DECLARE @string varchar(10) = 'Y1223456883002' 
SELECT SUBSTRING(@string, LEN(@string)-2, 2) 

而另一種方式來做到這一點是由過去的2之前餡代替字符的空字符串:

DECLARE @string varchar(10) = 'Y1223456883002' 
SELECT STUFF(@string, 1, LEN(@string)-2, '') 

表現明智,他們都差不多(我筆記本電腦上的1000萬次迭代大約需要10秒)。