Как из значения ID (автоинкремент) получить значения вида 0001, 0002, 0003?
Имеется таблица, условно, такого вида:
CREATE TABLE [dbo].[Actavia] (
[Id] BIGINT IDENTITY (1, 1) NOT NULL,
[DocIndex] NVARCHAR (50) NULL,
);
SQL по умолчанию в столбец Id при создании записей проставляет значения вида 1, 2, 3, 4 и т.д. Как можно получить значения вида 0001, 0002, 0003, 0004 для формирования записи в столбце [DocIndex] ???
Ответы (2 шт):
Автор решения: Olga Romantsova
→ Ссылка
Попробуйте так:
.....
UPDATE Actavia
SET [DocIndex]=RIGHT(CONCAT('000',cast (i.Id AS NVARCHAR(MAX))),4) --в этой строке берем данные которые вы вносите (i.Id, то есть из inserted)
FROM Actavia X
JOIN inserted i ON X.id = i.id
то есть в любом случае Вы можете использовать следующий код для получения значений вида 000N, где N- ваш Id:
[DocIndex]=RIGHT(CONCAT('000',cast (Id AS NVARCHAR(MAX))),4)