sql date_add SQL查询时间大于某天数据的正确方法:避免包含当天数据的常见误区

网安智编 厦门萤点网络科技 2025-11-12 00:10 66 0
sql查询时间大于某天的数据 如查询时间大于2020/05/14这一天的数据,首先可能想到这样写 * from where TIME˃'2020/05/14' 但这种方式写出来,查询的结果还是会有5/14当天的,原因是实...

sql查询时间大于某天的数据

如查询时间大于2020/05/14这一天的数据,首先可能想到这样写

* from where TIME>'2020/05/14'

但这种方式写出来,查询的结果还是会有5/14当天的,原因是实际上,在解读这语句时会翻译成TIME>'2020/05/14 00:00:00'也就是说,比如14号的12点也是满足的。

所以写的时候最好的写法,应该是

* from where TIME>(, -1, '2020/05/15')

对于MySQL应该这样写

* from where TIME>('2020/05/15', -1 )

这意思就是说TIME>'2020/05/14 23:59:59'

(, , date)

指的是修改的类型,一般有YEAR,MONTH,DAY,HOUR,,

sql date_add_排除当天数据sql查询_sql查询时间大于某天的数据

分别对应的就是YEAR/MONTH/DAY HOUR::

更详细的可看

修改的值,正数是未来的日子。负数是过去的日子

date

合法日期表达式

当然对于我遇到的情况,还有一种方式,但是不严谨的解决方案

* from where TIME>(DAY,1,'2020/05/14')

MySQL语句

* from where TIME>('2020/05/14', 1 DAY)

这种方式也可以查到,但没有排除当刚好有条记录是'2020/05/15 00:00:00'就查不到了,当然如果你觉得你记录不可能有这么巧有这个时间的,也可以用。这可以比较方便的使用到这个时间字符串而不做其他修改。

如果您看了本篇博客,觉得对您有所收获,请点击右下角的