我想知道哪种类型的查询更好用:
SELECT * FROM table WHERE DATE >= '2010-7-20' AND DATE <= '2010-7-24'
Run Code Online (Sandbox Code Playgroud)
要么
SELECT * FROM table WHERE DATE_SUB('2010-07-24',INTERVAL 4 DAY) <= DATE
Run Code Online (Sandbox Code Playgroud)
我总是使用>=和<组合.
因此,如果您想要使用这四天的服务
where DATE >= '2010-07-20' AND DATE < '2010-07-24'
Run Code Online (Sandbox Code Playgroud)
这样可以确保即使存在实际日期(没有时间组件)和日期时间的混合,您也只能获得您所关注的日期.
因此,如果您将日期存储为2010-07-20 09:00:00,并将日期存储为2010-07-20,则它们都将被包括在内,但是2010-07-24的日期不会.
我不相信! 我不确定MySQL,但是SQL Server中的BETWEEN会给你包容性的结果,所以如果你想要的四个日期期间,如果我不希望它包含一个日期为2010-07-24的行. 20?(20日,21日,22日和23日)
因此,即使是午夜,也不应包括24日的任何日期..!
另外...... 通常在您的条件中使用函数可以阻止优化器使用任何索引..!需要注意的事情.
更重要的是...... 第二个查询不会产生与第一个查询相同的结果......是否全部存在?
| 归档时间: |
|
| 查看次数: |
34550 次 |
| 最近记录: |