表为:
NO a
1 2
2 NULL
3 7select * from R where a>num*2 Or (a>num*2) is Unknown
这句结果是什么?
是数据库系统理论的题目,在SQL 2005中没法执行,语法错
那么按照数据库理论这句到底算不算错误???
NO a
1 2
2 NULL
3 7select * from R where a>num*2 Or (a>num*2) is Unknown
这句结果是什么?
是数据库系统理论的题目,在SQL 2005中没法执行,语法错
那么按照数据库理论这句到底算不算错误???
true和false是布尔值,而unknown布尔值
对sql 2005来说是错的。因为null任何值进行操作都是一个空置。 后面的 is unknown 没有这种写法。
对于其他的dbms不太了解。另外,理论和实际情况是有一定的差别的。理论上的东西不是都能实现的
对于a>num*2----就是说查询出R表中a列的值大于num乘以2的所有行。
对于(a>num*2) is unknow ----就是说查询出R表中a列的值为空的所有行。
因为 "is nuknow"这样的写法在sqlserver好象是不存在的,所以,上面的查询语句是不是可以改成这样:
select * from R where isnull(a,0)>num*2 or a is null
is Unknown 是什么? 应该是 isNull(a) 吧?