MySQLではこのクエリがあります
SELECT DISTINCT date, descr FROM book ORDER BY date
日付は形式ですyyyy-mm-dd
2012年1月の本だけを選びたいです。使用しようとしましlike
たが、うまくいきません。
何か案は?
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;
>=
ここでand<=
演算子を使用できます。以下のコードを確認してください。
SELECT *
FROM book
WHERE date >= '2012-01-01' AND date <= '2012-01-31'
LIKE構文を使用することに固執する場合は、最初に日付をCHARに変換できます。
SELECT DISTINCT date、descr FROM book WHERE CAST(date AS char)LIKE '2012-01%' ORDER BY date;
これを試して:
SELECT DISTINCT date, descr FROM book WHERE YEAR(date) = '2012' and MONTH(date) = '1'
これは、「日付」列が MySQL 日付フィールドである場合に機能します。
SELECT DISTINCT date, descr
FROM book
WHERE YEAR = DATE(NOW()) AND MONTH(date) = '1'
これにより、今年の書籍が提供されます