我正在尝试选择在特定月份输入的所有发票。
数据库中的'entry_datetime'字段格式为'2013-02-19 14:47:42'。
我正在使用MySQL。
这是我到目前为止所做的:
SELECT
id
FROM
invoices
WHERE
entry_datetime > 2012/12/31 AND entry_datetime < 2013/02/01
不幸的是,它没有返回任何结果,但我可以通过phpMyAdmin看到合格的发票。
请告诉我where子句有什么问题?
答案 0 :(得分:5)
另一种方法:
SELECT
id
FROM
invoices
WHERE
entry_datetime between '2012/12/31' AND '2013/02/01';
如果您想获得特定月份的结果,请使用以下函数: month()as:
SELECT
id
FROM
invoices
WHERE
MONTH(entry_datetime)=12;
其中12是月份数
答案 1 :(得分:2)
试试这个:
SELECT
id
FROM
invoices
WHERE
entry_datetime > '2012/12/31' AND entry_datetime < '2013/02/01'
答案 2 :(得分:0)
由于where子句中的日期没有用引号括起来,MySQL认为它是一个数学公式/等式。所以它将2012/12/31评估为5.4086。