在 MySQL 中我有这个查询
SELECT DISTINCT date, descr FROM book ORDER BY date
日期格式为 yyyy-mm-dd
我只想选择 2012 年 1 月 的书籍。我试过使用 like
但它不起作用。
有什么想法吗?
最佳答案
使用 DATE_FORMAT
功能
SELECT DISTINCT date, descr FROM book
WHERE DATE_FORMAT(date, '%Y %m') = DATE_FORMAT('2012-01-01', '%Y %m')
ORDER BY date
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;
See this SQLFiddle
关于MySQL选择具有日期的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12216033/