Как мы можем использовать префикс как ноль в SQL? - PullRequest
3 голосов
/ 27 апреля 2011

Как мы можем использовать нули в префиксе числового столбца feedback_refno вроде

select @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 ..

Есть предложения?

Ответы [ 2 ]

2 голосов
/ 27 апреля 2011

попробуйте

SELECT RIGHT('000'+ CONVERT(varchar,feedback_refno),4) AS NUM FROM EDK_Customer_Feedback;
1 голос
/ 27 апреля 2011

@refno имеет тип int, поэтому начальные нули не будут работать.Если вы измените его на varchar(4), вы можете использовать эти два ответа:

В SQL Server 2000 как вы добавляете 0 в начало числа, чтобы заполнить nchar (n)

В SQL Server 2000, как вы добавляете {n} число 0 в nchar (n)?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...