我是SQL Server的新手,我试图在NVARCHAR
列中插入6位数字的字符串值。但是它可以完美存储数据,直到6位字符串以 0 开头。
Ex: 001212 -->stores as 1212
121212 -->stores as 121212
012121 -->stores as 12121
120121 -->stores as 120121
我在stackoverflow上搜索了解决方案,但是我可以找到解决方案。
但是我有一个想法,如果不是6位数字,则验证字符串长度,然后添加 0 。
如果正确的话,有人可以帮我做吗。
答案 0 :(得分:4)
如果是字符串,请像字符串一样使用它。也就是说,将文字值括在单引号中(并为N
添加nvarchar
前缀)。
INSERT INTO elbat (nmuloc)
VALUES (N'000007');
答案 1 :(得分:3)
从技术上讲,您要做的是正确输入数字。 SQL Server没有内置函数,但是编写一个表达式来做到这一点并不困难:
select right(replicate('0', 6) + convert(varchar(255), @num), 6)