MySQL sélectionner des lignes avec comme date
Dans MySQL, j'ai cette requête
SELECT DISTINCT date, descr FROM book ORDER BY date
Date est au format yyyy-mm-dd
Je veux sélectionner uniquement les livres de janvier 2012. J'ai essayé d'utiliser like
mais qui ne fonctionne pas.
Des idées?
"la Date est au format aaaa-mm-jj" - Est de la date de la colonne une valeur de date réelle? Ou tout simplement une chaîne de caractères?
date réelle valeur.
date réelle valeur.
OriginalL'auteur Axxess | 2012-08-31
Vous devez vous connecter pour publier un commentaire.
À l'aide de
DATE_FORMAT
fonctionOu à l'aide de
MOIS
etANNÉE
fonctionsOu à l'aide de
fonctions
Ou à l'aide de
<=
et>=
opérateursVoir ce SQLFiddle
Cool! Connaissez-vous des différences de rendement?
OriginalL'auteur hims056
Vous pouvez utiliser
>=
et<=
opérateurs ici. Vérifiez le code ci-dessous:OriginalL'auteur mtk
Essayez ceci:
Cela fonctionne si votre "date"-colonne est MySQL est un champ de date.
OriginalL'auteur j0nes
Si vous êtes catégorique que vous voulez utiliser la syntaxe, vous pouvez convertir la date en CHAR de la première:
SELECT DISTINCT date, descr DE livre OÙ CAST(date du char) COMME " 2012-01%' ORDER BY date;
LIKE '%-01-01 00:00:00'
OriginalL'auteur Rolf
Cela vous donnera cette année, les livres
WHERE YEAR(date) >= DATE(NOW()) AND MONTH(date) = '1'
pour le faire fonctionner et il sera TRÈS inefficace de la requête d'appel 3 fonctions pour chaque ligneOriginalL'auteur Muhammad Raheel