问一个数据库的基本问题,大牛来回答一下,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没关系,但是效率会很低。
------解决方案--------------------这和长度应该没什么关系,只要你后面的字符串符合条件就行了,不管多长,因为你是用相等到来比较的.