sql – 如何在给定日期之前提前一天?

前端之家收集整理的这篇文章主要介绍了sql – 如何在给定日期之前提前一天?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
假设我有一个日期2010-07-29.现在我想检查一天的结果.怎么做

例如,

SELECT * 
  from table 
 where date = date("2010-07-29")

前一天怎么做,而不改字符串“2010-07-29”?

搜索并从网上得到一些建议,我试过

SELECT * 
  from table 
 where date = (date("2010-07-29") - 1 Day)

但失败了.

解决方法

MysqL
SELECT * 
  FROM TABLE t
 WHERE t.date BETWEEN DATE_SUB('2010-07-29',INTERVAL 1 DAY)
                  AND '2010-07-29'

如果要添加一天(并反转BETWEEN参数),请将DATE_SUB更改为DATE_ADD.

sql Server

SELECT *
  FROM TABLE t
 WHERE t.date BETWEEN DATEADD(dd,-1,'2010-07-29')
                  AND '2010-07-29'

神谕

SELECT *
  FROM TABLE t
 WHERE t.date BETWEEN TO_DATE('2010-07-29','YYYY-MM-DD') - 1
                  AND TO_DATE('2010-07-29','YYYY-MM-DD')

我使用BETWEEN,因为date列可能是DATETIME(在MysqLsql Server上,与Oracle上的DATE),其中包括时间部分,因此等于意味着该值必须等于完全相同.这些查询给你一天的跨度.

猜你在找的MsSQL相关文章