Я пытаюсь добавить строки, которые являются целыми числами. У меня есть 201404 в качестве входных данных, и мне нужно, чтобы он был преобразован в 201503, поэтому единственный способ сделать это - увеличить год (2014) на 1 и уменьшить месяц 02 на 1. Я пробовал нижеследующий, но ведущий ноль в месяц, кажется, не сохранить:SQL Добавление целых строк с нулевыми значениями
DECLARE @YearMonth INT = 201404
, @left INT = 0
, @right INT = 0
SET @YearMonth = CAST(@YearMonth AS VARCHAR(6))
SET @left = CAST(LEFT(@YearMonth, 4) + 1 AS VARCHAR(MAX))
SET @right = RIGHT(@YearMonth, 2) - 1
SET @right = CAST(@right AS VARCHAR(2))
SET @right = RIGHT(('0' + CAST(@right AS VARCHAR(2))), 2)
PRINT @left
PRINT RIGHT('0' + LTRIM(RTRIM(@right)), 6)
ОК классный! и как сделать проверку, чтобы увидеть, если, например, дата 201411, тогда не должно быть нулевой репликации. –
Вам не обязательно. Это будет только поле, если целевая строка слишком короткая. – nicomp