我想将12位数的pad int数字保留为0,并以字符“P”
开头例如,如果数字是345
然后输出应为“P00000000345
”
我的代码:
Declare @a int
Set @a =8756
Select Right('P00000000000' +Cast(@a As Varchar(11)),12)
DB:SQL SERVER 2008
答案 0 :(得分:4)
尝试
Declare @a int
Set @a =8756
Select 'P'+Right('00000000000' +Cast(@a As Varchar(11)),11)
答案 1 :(得分:2)
您大部分都是正确的,但应将P
作为单独步骤应用:
Declare @a int
Set @a =8756
Select 'P' + Right('000000000000' +Cast(@a As Varchar(11)),12)
答案 2 :(得分:2)
试试这个
Declare @a int
Set @a =8756
Select 'P' + REPLACE(STR(@a, 11), SPACE(1), '0')
答案 3 :(得分:1)
更改
Select Right('P00000000000' +Cast(@a As Varchar(11)),12)
到
Select 'P' + Right('00000000000' +Cast(@a As Varchar(11)),11)
答案 4 :(得分:0)
这将用零填充数字。 11 个零并在前面加上 'P',所以总共 12 个字符。
declare @a int
set @a = 234
select @a as ORIG, 'P' || str(@a, 11, '0') as CHAR12_STRING