一尘不染

MySQL选择具有日期的行

mysql

在MySQL中,我有此查询

SELECT DISTINCT date, descr FROM book ORDER BY date

日期格式 yyyy-mm-dd

我只选择 2012年1月以后 的书籍。我尝试使用,like但这不起作用。

有任何想法吗?


阅读 291

收藏
2020-05-17

共1个答案

一尘不染

使用DATE_FORMAT功能

SELECT DISTINCT date, descr FROM book 
WHERE DATE_FORMAT(date, '%Y %m') = DATE_FORMAT('2012-01-01', '%Y %m')
ORDER BY date

或使用MONTHYEAR功能

SELECT DISTINCT date, descr FROM book 
WHERE Month(date) = Month('2012-01-01')
AND Year(date) = Year('2012-01-01')
ORDER BY date;

或使用BETWEEN功能

SELECT DISTINCT date, descr FROM book 
WHERE date BETWEEN '2012-01-01'
AND '2012-01-31'
ORDER BY date;

或使用<=>=运算符

SELECT DISTINCT date, descr FROM book 
WHERE date >= '2012-01-01'
AND date <= '2012-01-31'
ORDER BY date;

看到这个SQLFiddle

2020-05-17