我正在我的项目中创建一个搜索系统。我有一个"产品"表格和表格中我有一个日期字段,其中包含类似于2015-05-13'的值。在我的系统中,我有两个日期选择器用于选择两个日期之间进行搜索,如:From:2015-05-02 To:2015-05-14
。
我正在尝试根据所选日期创建查询,并且我在尝试执行此操作时遇到问题。有人可以解释一下如何做到这一点吗?
我试过这个:
SELECT * FROM `product`
BETWEEN '2013-04-05' AND '2013-05-05'
答案 0 :(得分:0)
您的查询无效的原因是您忘记包含SELECT [columns]
FROM [table]
WHERE [condition]
子句。虽然不是必需的,但许多MySQL查询都使用它。典型查询的格式可能是:
BETWEEN
你不仅直接跳到这个条件,而且你没有指定那些日期应该是SELECT *
FROM product
WHERE dateColumn BETWEEN '2013-04-05' AND '2015-05-05';
的字段。您可以像这样重写您的查询:
SELECT Select_List
FROM Table_List
[WITH (BUFFERING = lExpr)]
[WHERE Conditions]
[GROUP BY Column_List]
[UNION Clause]
[HAVING Conditions]
[ORDER BY Column_List]
[INTO Clause | TO Clause ]
[Additional_Display_Options]
作为参考,您可以看到有关Apache's documentation page命令的此页面。他们有一个很好的例子,说明您可以添加到语句中的所有可能的子句。这是主要的摘要:
{{1}}
答案 1 :(得分:-1)
你非常接近:
SELECT *
FROM product
WHERE datefieldname BETWEEN '2013-04-05' AND '2013-05-05'
答案 2 :(得分:-1)
两种方式:
SELECT * FROM `product` where your_date_column BETWEEN '2013-04-05' AND '2013-05-05'
SELECT * FROM `product` where your_date_column >= '2013-04-05' AND your_date_column < = '2013-05-05';