sql server中的SubString函数

时间:2014-10-01 08:39:45

标签: sql-server database tsql

我是数据库PL / SQL的初学者。我正在使用

的子字符串函数
@String  = 'Y1223456883002' 

在SQL Server中

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

获取最后两个数字,但此处的输出仅为2。 有人可以向我解释如何用零来得到最后两个数字吗?

1 个答案:

答案 0 :(得分: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)

另一种方法是在前两个字符之前填充空字符串代替字符:

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

性能方面,它们大致相同(我的笔记本电脑上的1000万次迭代大约需要10秒)。