我有一个sql表payments
,包含以下列:
id|name|amount|reference_number|payment_date|status
以下是一些价值观
1|John Doe|10.00|123456G|2019-02-21 08:00:21|confirmed
2|John Doe|10.00|FHFHgJJ|2019-02-21 10:05:50|pending
3|John Doe|10.00|57GHHFG|2019-02-22 12:10:32|pending
4|John Doe|10.00|GHTYNHJ|2019-02-22 09:52:26|confirmed
5|John Doe|10.00|123G456|2019-02-23 12:22:45|confirmed
6|John Doe|10.00|J123456|2019-02-23 13:00:21|pending
现在我需要获取基于
payment_date
和status
的选择数据,其中payment_date
有时可以是一个范围或相同的日期。场景1:
SELECT *
FROM payments
WHERE payment_date >= '2019-02-21' AND payment_date <= '2019-02-21' AND status='confirmed'
ORDER BY id DESC
应返回:
1|John Doe|10.00|123456G|2019-02-21 08:00:21|confirmed
斯雷纳里奥2:
SELECT *
FROM payments
WHERE payment_date >= '2019-02-21' AND payment_date <= '2019-02-23' AND status='confirmed'
ORDER BY id DESC
应返回:
1|John Doe|10.00|123456G|2019-02-21 08:00:21|confirmed
4|John Doe|10.00|GHTYNHJ|2019-02-22 09:52:26|confirmed
5|John Doe|10.00|123G456|2019-02-23 12:22:45|confirmed
有什么办法吗?
最佳答案
正如@strawberry建议的那样,使用时间和日期来获取数据
SELECT *
FROM payments
WHERE payment_date >= '2019-02-21 00:00:00' AND payment_date <= '2019-02-21
23:59:59' AND status='confirmed'
ORDER BY id DESC
关于mysql - SQL在特定日期和附加字段过滤器之间选择数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54839412/