我们怎样才能在SQL中使用前缀为零?

时间:2011-04-27 11:43:45

标签: tsql sql-server-2008

我们如何在数字列feedback_refno的前缀中使用零,如

选择@refno ='0001'

我需要将这个值插入到该列的feedback_refno中,但它只插入1个..但我需要在那些前面加上那些前缀

我试过这样的

declare @refno int
select  max(feedback_refno)+1 from EDK_Customer_Feedback(nolock)

if not exists(select feedback_refno from EDK_Customer_Feedback(nolock))
Begin 
    select @refno = '0001'
end     
else
Begin
    select @refno
End
insert into EDK_Customer_Feedback values(@refno)

我需要像0002那样的结果,然后就像那样,但是它会像2那样给出3 ..

有什么建议吗?

2 个答案:

答案 0 :(得分:2)

试试这个

SELECT RIGHT('000'+ CONVERT(varchar,feedback_refno),4) AS NUM FROM EDK_Customer_Feedback;

答案 1 :(得分:1)

@refno的类型为int,因此前导零不起作用。如果您将其更改为varchar(4),则可以使用以下两个答案:

In SQL Server 2000 how do you add 0's to beginning of number to fill nchar(n)

In SQL Server 2000 how do you add {n} number of 0's to a nchar(n)?