我想从指定年份的表中获取所有数据。但问题是我把日期设置为DATETIME类型。
我在尝试类似的事情:

SELECT
    *
FROM
    table
WHERE
    entrytime = 2017 //entrytime is datetime type.

但是,这是错误的。
有没有办法得到数据或者更好的方法?
谢谢您。

最佳答案

您可以在datetime上使用year函数:

SELECT *
FROM table
WHERE year(entrytime) = 2017

或者更好:
SELECT *
FROM table
WHERE entrytime >= '2017-01-01'
AND entrytime < '2018-01-01'

后者可以使用entrytime列上的索引,这可以使查询运行得更快。

09-25 22:20