Tsql 如何在SQL中使用前缀作为零?

Tsql 如何在SQL中使用前缀作为零?,tsql,sql-server-2008,Tsql,Sql Server 2008,我们如何在数字列反馈的前缀中使用零 选择@refno='0001' 我需要将此值插入到该列feedback_refno中,但它只是像1一样插入..但我需要那些前缀在那些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)

我们如何在数字列反馈的前缀中使用零

选择@refno='0001'

我需要将此值插入到该列feedback_refno中,但它只是像1一样插入..但我需要那些前缀在那些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然后0003这样的结果,但它给出的是像2然后3

有什么建议吗?

试试这个

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

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


由于您将refno声明为int,因此它将始终将0001变为1。为什么参考编号为000[0-9]*如此重要?