Sélectionnez une plage de dates (Mois/Année) dans la base de données
J'ai une petite question concernant la sélection dateranges dans MySQL, ce format YYYY-MM-DD
J'ai lu MySQL sélectionnez la plage de dates problème et de comprendre l'utilisation de base, mais comment puis-je inclure", le 29 février par exemple? Je voudrais éviter un PHP solution de contournement, il n'y a rien de semblable dans MySQL?
Je ne comprends pas très bien http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_str-to-date
quelqu'un peut me donner un exemple sur la façon de sélectionner des dernières années, les données de février?
merci de nous donner quelques données et du résultat souhaité.
OriginalL'auteur PrimuS | 2013-01-24
Vous devez vous connecter pour publier un commentaire.
Le moment où vous spécifiez un mois, MYSQL moteur est assez intelligent pour obtenir le bon nombre de jours pendant un mois (si c'est une année bissextile ou non) et d'évaluer votre champs de date en conséquence.
Pour obtenir des données entre deux dates de votre choix: (à l'aide de
interval -1 year
pour obtenir une année de retour à partir d'aujourd'hui)Ou vous pouvez tout simplement écrire avec l'EXERCICE de la fonction sans
BETWEEN
Pour la question sur
Str_to_Date
la fonction est utilisée pour convertir une chaîne de caractères qui contient une date dans un type de date avec le format désiré et c'est l'inverse deDATE_FORMAT
fonction.Avis dans la démo ci-dessus que vous ayez à préciser le jour, le mois, l'année arrangement dans le format que vous ajoutez dans le
STR_TO_DATE
fonction.Référence sur le Site de MYSQL
Vous pouvez également regarder dans
DATE_FORMAT
pour formater un champ de type date dans un format de date souhaité.PS: c'est assez vague de ce que vous êtes vraiment tryhing de réaliser ici, sans sameple de données et devrait reslts montré dans la question.. 🙂
Vous pouvez ajouter que si vous voulez un indice sur
yourdate
pour être utilisé efficacement par la requête, il devrait être écrit commeWHERE yourdate >= '2012-02-01' AND yourdate < '2012-03-01'
(sans fonctions appliquées sur leyourdate
colonne)+1 @ypercube qui ajoute jusqu'à la performance et fortement spécifique sur
date range
🙂Merci, c'est exactement ce que je recherchais... ce qui veut dire le MOIS et l'ANNÉE de fonctions MySQL. Un million de mercis!
OriginalL'auteur bonCodigo
Requête ci-dessous vous donnera des données de l'année dernière en février, mois
OriginalL'auteur Minesh