mysql日期查询问题

mysql日期查询问题,mysql,sql,database,Mysql,Sql,Database,有人能告诉我这背后的原因吗 mysql> select name,mydate from persondb -> where date_sub(now(),INTERVAL 5 DAY)<=mydate; 查询显示未来日期的原因是因为您检查mydate是否晚于或等于5天前。日期2011-08-3114:50:37符合此要求。您可以使用BETWEEN检查它是否在现在到5天前的范围内 查询显示未来日期的原因是因为您检查mydate是否晚于或等于5天前。日期2011

有人能告诉我这背后的原因吗

  mysql> select name,mydate from persondb
      -> where date_sub(now(),INTERVAL 5 DAY)<=mydate;
查询显示未来日期的原因是因为您检查mydate是否晚于或等于5天前。日期2011-08-3114:50:37符合此要求。您可以使用BETWEEN检查它是否在现在到5天前的范围内


查询显示未来日期的原因是因为您检查mydate是否晚于或等于5天前。日期2011-08-3114:50:37符合此要求。您可以使用BETWEEN检查它是否在现在到5天前的范围内。

对于原始问题作者:BETWEEN是更可读的形式,等于mydate>=DATE\u SUBNOW,INTERVAL 5 DAY和mydate@Viswana,而不是在您的问题的查询中,yes。其中mydate介于现在和DATE\u SUBNOW之间,INTERVAL 5 DAY;如果现在放在第一位,那么它返回空的为什么?因为在。。。和定义为先有最小值,后有最大值。最小值和最大值之间的expr查看原始问题作者:BETWEEN更具可读性,等于mydate>=DATE\u SUBNOW,INTERVAL 5 DAY和mydate@viswana,而不是在问题的查询中,是的。其中mydate介于now和DATE\u SUBNOW之间,INTERVAL 5 DAY;如果现在放在第一位,那么它返回空的为什么?因为在。。。和定义为先有最小值,后有最大值。expr在min和max之间查看关键字INTERVAL不表示查询中的范围,但使用关键字INTERVAL进行演算的时间量不表示查询中的范围,而是表示使用关键字INTERVAL进行演算的时间量
  mysql> select name,mydate from persondb
      -> where date_sub(now(),INTERVAL 5 DAY)<=mydate;
SELECT name,mydate FROM persondb
WHERE mydate BETWEEN DATE_SUB(NOW(),INTERVAL 5 DAY) AND NOW();