我正在导入以9位数字的字符串提供加拿大罪恶的数据,我需要将其转换为11位数字的罪恶(每三个字符添加一个空格)。
因此123456789
的原始值变为123 456 789
。 11位数字的Sin是数据库其余部分按Sin查找人的方式。
试图找到将9转换为11的T-SQL过程。
答案 0 :(得分:5)
另一种方法是STUFF
select stuff(stuff(123456789,4,0,' ' ),8,0,' ' )
所以...
select stuff(stuff([Sin],4,0,' ' ),8,0,' ' )
答案 1 :(得分:2)
您可以使用format()函数:
select format(123456789, '000 000 000')
但是,对于较旧的版本stuff()
会有所帮助:
select stuff(stuff(123456789, 4, 0, ' '), 8, 0, ' ')
答案 2 :(得分:1)
我设法一起破解了
[Sin] = concat(LEFT([Sin],3), ' ', SUBSTRING([Sin], 4, 3), ' ',SUBSTRING([Sin], 7, 3))
现在 123456789 变为 123456789
PS:我总是检查[Sin]在导入或输入(代码)时是否有效