как увеличить максимальное значение, сохраняя длину строки - PullRequest
0 голосов
/ 18 октября 2019

У меня есть номера столбцов от 1 до 10000, они хранятся как строка с 8 символами, поэтому номер 1 хранится как 00000001, а 10000 хранится как 00010000. Мне нужно взять максимум для этого столбца и увеличить на 1 воперации вставки. но если я сделаю:

Max(column)+1

Я потерял предыдущий 0, поэтому у меня есть 10001, а не 00010001, как я могу сохранить нули?

Ответы [ 2 ]

1 голос
/ 18 октября 2019

Вы можете использовать функцию FORMAT для форматирования чисел:

SELECT FORMAT(1, '00000000') -- 00000001

Сказав это, вы должны хранить числа в базе данных как есть и форматировать их в приложении.

0 голосов
/ 18 октября 2019

вы можете попробовать использовать приведение и репликацию

  replicate('0', 8 - CONVERT(varchar(8),  max(CAST(column AS INT)) +1) ) + CONVERT(varchar(8),  max(CAST(column AS INT)) +1) 

, в любом случае вам нужно проверить идентичность в sqlserver для автоматического управления колонкой автоинкремента

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