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

问一个数据库的基本问题,大牛来回答一下,Where条件查询的准确度问题,与数据类型和数据长度有关吗
如题,
SQL的Where条件的的准确度,与数据类型和数据的长度有关吗

比如
select * from users where userid='int类型'

select * from users where username='nvarchar类型'

select * from users where username='nvarchar(80)类型'


这三种,查询,会不会查询出错啊,比如查询出不是对应的数据啊,特别担心第三种,因为,类型是nvarchar,还是80长度,特长。

会不会啊

大牛来回答一下

------解决方案--------------------
改成:
select * from users where userid='int类型'--去掉两个单引号

select * from users where username=N'nvarchar类型'--红字部分

select * from users where username=N'nvarchar(80)类型'--红字部分

对于第三个查询,只要有符合条件的数据都能出来,和80没关系,但是效率会很低。


------解决方案--------------------
这和长度应该没什么关系,只要你后面的字符串符合条件就行了,不管多长,因为你是用相等到来比较的.