Sql server sql server中的子字符串函数
我是数据库PL/SQL的初学者。我正在使用子字符串函数Sql server sql server中的子字符串函数,sql-server,database,tsql,Sql Server,Database,Tsql,我是数据库PL/SQL的初学者。我正在使用子字符串函数 @String = 'Y1223456883002' 在SQL Server中类似 SUBSTRING(@String,LEN(@String),2) 获取最后两个数字,但这里的输出仅为2。 有人能给我解释一下如何获取最后两个带零的数字吗?要获取SQL Server中字符串的最后两个字符,您应该使用 DECLARE @string varchar(10) = 'Y1223456883002' SELECT RIGHT(@stri
@String = 'Y1223456883002'
在SQL Server中类似
SUBSTRING(@String,LEN(@String),2)
获取最后两个数字,但这里的输出仅为2。
有人能给我解释一下如何获取最后两个带零的数字吗?要获取SQL Server中字符串的最后两个字符,您应该使用
DECLARE @string varchar(10) = 'Y1223456883002'
SELECT RIGHT(@string, 2)
如果您想像您提到的那样使用子字符串函数,您应该(正如@Barry提到的)使用:
另一种方法是用空字符串代替最后2个字符之前的字符:
DECLARE @string varchar(10) = 'Y1223456883002'
SELECT STUFF(@string, 1, LEN(@string)-2, '')
就性能而言,它们都差不多(在我的笔记本电脑上,1000万次迭代大约需要10秒) 使用子字符串(@String,LEN(@String)-1,2)。第二个参数指定开始的位置。你指定了最后一个字符。是的。RTFM。随意插入参数可能会把它们弄混。@Barry谢谢。现在它的工作,以及我想要的。现在它返回零。
DECLARE @string varchar(10) = 'Y1223456883002'
SELECT STUFF(@string, 1, LEN(@string)-2, '')