我的目的是加上+1,使所需的值变成001+1==002,但它返回的是2而不是002请参见下面的示例查询
DECLARE @l_EmploymentID NVARCHAR(30)/ int
SELECT @l_EmploymentID = 001
SELECT LEN(@l_EmploymentID)-- output is 1
如果我得到的长度为3,那么我可以得到所需的值002使用复制函数请建议我如何才能得到长度为3或求和1与001=002
提前谢谢。
我的目的是加上+1,使所需的值变成001+1==002,但它返回的是2而不是002请参见下面的示例查询
DECLARE @l_EmploymentID NVARCHAR(30)/ int
SELECT @l_EmploymentID = 001
SELECT LEN(@l_EmploymentID)-- output is 1
如果我得到的长度为3,那么我可以得到所需的值002使用复制函数请建议我如何才能得到长度为3或求和1与001=002
提前谢谢。
2条答案
按热度按时间okxuctiv1#
将原始字符串转换为int后,通过计算原始字符串的字符数与字符数的差值,可以确定继续执行的零的数目。然后,可以在复制函数中使用此差值为结果准备前缀。
wlsrxk512#
如果需要字符串,则需要单引号:
否则,该值将被解释为整数
1
.如果您想输出一个带前导零的整数,那么
FORMAT()
可以帮助: