Я импортирую данные, содержащие канадский грех в 9-значной строке, и мне нужно преобразовать их в 11-значный грех (добавляя пробелы каждые три символа).
Таким образом, исходное значение 123456789 становится 123 456 789. Грех из 11 цифр - так выглядит остальная часть базы данных по Греху.
123456789
123 456 789
Попытка найти процедуру T-SQL для преобразования из 9 в 11.
Другой способ будет STUFF
STUFF
select stuff(stuff(123456789,4,0,' ' ),8,0,' ' )
Итак ...
select stuff(stuff([Sin],4,0,' ' ),8,0,' ' )
Вы можете использовать формат () функция:
select format(123456789, '000 000 000')
Однако для более старой версии stuff() поможет:
stuff()
select stuff(stuff(123456789, 4, 0, ' '), 8, 0, ' ')
Мне удалось взломать это вместе:
[Sin] = concat(LEFT([Sin],3), ' ', SUBSTRING([Sin], 4, 3), ' ',SUBSTRING([Sin], 7, 3))
сейчас 123456789 становится 123 456 789
PS: я всегда проверяю, что [Sin] действительны при импорте или вводе (код)