日期:2014-05-17  浏览次数:20744 次

SQL SERVER中,有一列需要输入001,设置为varchar(50) 后只能显示1,要想显示001,应该设置为什么类型?


为什么第二,第三个数0都少了?怎么解决
------最佳解决方案--------------------
当你不带单引号的时候,默认是数值型,而数值型在处理时优先级高于字符型,所以先以字符型处理,具体类型优先级可以看这里的最后一部分:
http://blog.csdn.net/dba_huangzj/article/details/7883090
------其他解决方案--------------------
value那里values(3,'002','02088888888'.....)这样才行
------其他解决方案--------------------
引用:
为什么一定要加‘’,不加不可以吗?
不可以,不加就成了int类型。002的数值型就是2
------其他解决方案--------------------
不加,自动会作为数字类型然后自动转化为varchar。002---》2
------其他解决方案--------------------
这是一种规定,字符型的数据,在sql中必须加''或者N''(这个在数据类型为nchar/nvarchar时使用)。
------其他解决方案--------------------
为什么一定要加‘’,不加不可以吗?