如果我的查询具有WHERE子句,如:
where date1 > date2
Run Code Online (Sandbox Code Playgroud)
如果date2为null,会发生什么?我是否需要指定date1和date2都不为空?
类型是DATE()
它将尝试与之比较date1,NULL并将评估为未知.
WHERE '2013-07-18' > NULL
Run Code Online (Sandbox Code Playgroud)
是未知的.请参阅我在博客文章中关于NULL3值逻辑中的行为.
您将需要使用类似于ISNULL周围的函数date2或明确地写出逻辑.但是,使用ISNULL将阻止使用索引.你可以写:
WHERE (date1 > date2 OR date2 IS NULL)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
477 次 |
| 最近记录: |