有没有办法在SQL中使用日期的一部分进行SELECT?

Eth*_*han 0 mysql sql

我在MySQL表中有一个datetime列,我想选择具有相同年,月和日(但可能是不同的小时和分钟)的记录.在其他情况下,我会选择具有相同年份和月份的那些.有没有办法做到这一点?

Gre*_*reg 12

最快的方法是使用BETWEEN,例如:

SELECT fields FROM table WHERE
datecolumn BETWEEN '2001-01-01 00:00:00' AND '2001-12-31 23:59:59';
Run Code Online (Sandbox Code Playgroud)


Cha*_*rch 6

您可以使用某些MySQL日期和时间函数来提取/比较您感兴趣的日期部分.

SELECT * FROM table WHERE DATE(datetime1) = DATE(datetime2);

SELECT * FROM table WHERE YEAR(datetime1) = YEAR(datetime2) AND MONTH(datetime1) = MONTH(datetime2)

etc
Run Code Online (Sandbox Code Playgroud)