【发布时间】:2012-02-04 00:11:34
【问题描述】:
我在这种格式为 2012-02-1 的数据库表中有一个日期字段。我需要编写 3 个不同的查询:
a.) 我需要检索日期在今天和前 5 天之间的所有字段。
b.) 我需要检索从今天起日期超过 5 天的所有字段。
c.) 我需要检索日期在“5 天前”到“30 天前”之间的所有字段
我可以使用一些内置的mysql功能吗?
处理下面的查询:
SELECT fields
FROM table
WHERE date >= CURDATE() - 5
或类似的东西
或者使用 between 子句。我的语法不正确。
SELECT p.status,p.downpayment_date,p.policy_id,i.id,i.policy_type,i.carrier,i.policy_number,i.client_id,c.id,c.client_name FROM pdp_payment AS p,pdp_policy_info AS i,pdp_client_info AS c WHERE p.policy_id=i.id AND i.client_id=c.id AND (((p.status='close pending') OR (p.status='Cancel')) AND (p.downpayment_date BETWEEN ((INTERVAL 5 DAY AND CURDATE()) - (INTERVAL 30 DAY AND CURDATE()))) )
【问题讨论】:
-
它不是日期时间数据类型。它是日期类型。
-
欢迎使用 StackOverflow:如果您发布代码、XML 或数据示例,请在文本编辑器中突出显示这些行并单击“代码示例”按钮 (
{ }) 在编辑器工具栏上以很好地格式化和语法突出显示它!