0

我正在尝试选择在特定月份输入的所有发票。

数据库中的“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子句有什么问题吗?

4

3 回答 3

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 是月份数

于 2013-02-20T05:07:49.717 回答
2

试试这个 :

SELECT
    id
FROM
    invoices
WHERE
    entry_datetime > '2012/12/31' AND entry_datetime < '2013/02/01'
于 2013-02-20T03:40:55.970 回答
0

由于 where 子句中的日期没有用引号括起来,MySQL 假定它是一个数学公式/方程式。因此,它将 2012/12/31 评估为类似于 5.4086。

于 2013-02-20T03:46:13.183 回答