【发布时间】:2021-02-11 03:42:21
【问题描述】:
我有一个查询如下:
SELECT * FROM tbl_invoice_header
WHERE Create_Date BETWEEN '2019-04-01' AND '2020-03-31'
AND Auth_Settle_Date >'2020-03-31';
我想获取日期范围之间的所有数据,但这是在 2020-03-31 之后解决的
它返回给我一行 Auth_Settle_Date=2020-03-31 14:24:36
Auth_Settle_Date 是一个日期时间列,所以我猜它为什么会回来
我猜这是正确的,因为它是在 2020-03-31 之后,但不是我正在寻找的功能
如果我使用,基于以前的 cmets: WHERE Create_Date BETWEEN '2019-04-01' AND '2020-03-31' AND Auth_Settle_Date > '2020-03-31' ;
如果我使用: WHERE create_date >= '2019-03-01' AND create_date = '2020-04-01'
或
WHERE create_date >= '2019-03-01' AND create_date = '2020-03-31' + INTERVAL 1 DAY
实际正确的查询似乎在哪里:
WHERE Create_Date BETWEEN '2019-04-01' AND '2020-03-31' AND Auth_Settle_Date >= '2020-04-01'
所以我想在我将它传递给查询之前,我似乎必须在查询之外添加一天到日期,这似乎很奇怪
【问题讨论】:
标签: mysql sql date datetime where-clause