Création d'objets de date à partir de champs de date disparates dans MySQL
Votre situation difficile, où la représentation de date d'un schéma de base de données est divisée en jours, mois, et les champs année, présente un défi unique pour la manipulation de dates dans SQL. Cependant, en utilisant l'approche suivante, vous pouvez construire efficacement des objets date à partir de ces champs distincts.
Pour créer un objet DATETIME à partir de valeurs entières représentant l'année, le mois et le jour, utilisez la combinaison de MAKEDATE() et DATE_ADD( ) fonctions.
En combinant ces fonctions, vous pouvez construire des dates progressivement :
Exemple :
SELECT DATE_ADD(DATE_ADD(MAKEDATE(2013, 1), INTERVAL (3)-1 MONTH), INTERVAL (11)-1 DAY);
Cette requête renvoie l'objet DATETIME pour le 11 mars 2013.
Maintenant, vous pouvez utiliser cette technique pour construire des plages de dates à des fins de comparaison dans vos requêtes SQL :
SELECT * FROM `date` WHERE DATE_ADD(DATE_ADD(MAKEDATE(year, 1), INTERVAL (month)-1 MONTH), INTERVAL (day)-1 DAY) BETWEEN '2013-01-01' AND '2014-01-01';
Cette requête récupère tous les enregistrements de la table de dates dont les dates se situent entre le 1er janvier 2013 et le 1er janvier 2014.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!