Maison > base de données > tutoriel mysql > Comment puis-je créer un objet DATE dans MySQL à partir de champs jour, mois et année séparés ?

Comment puis-je créer un objet DATE dans MySQL à partir de champs jour, mois et année séparés ?

Linda Hamilton
Libérer: 2024-12-23 04:57:37
original
449 Les gens l'ont consulté

How Can I Create a DATE Object in MySQL from Separate Day, Month, and Year Fields?

Créer un objet date à partir des champs jour, mois et année dans MySQL

Dans un schéma de base de données avec une table 'date' contenant des Dans les champs « jour », « mois » et « année », il devient nécessaire de créer un objet date pour les comparaisons. Cet article présente une solution pour construire un objet date à partir de ces valeurs entières.

À l'aide des fonctions MAKEDATE() et DATE_ADD(), un DATETIME peut être créé à partir des composants année, mois et jour. MAKEDATE() génère un DATETIME représentant le premier jour de l'année spécifiée. Par la suite, DATE_ADD() peut être appliqué pour ajouter les valeurs du mois et du jour.

Par exemple :

SELECT MAKEDATE(2013, 1);
+-------------------+
| MAKEDATE(2013, 1) |
+-------------------+
| 2013-01-01        |
+-------------------+
Copier après la connexion

Pour incorporer les valeurs du mois et du jour :

SELECT DATE_ADD(MAKEDATE(2013, 1), INTERVAL (3)-1 MONTH);
+---------------------------------------------------+
| DATE_ADD(MAKEDATE(2013, 1), INTERVAL (3)-1 MONTH) |
+---------------------------------------------------+
| 2013-03-01                                        |
+---------------------------------------------------+
Copier après la connexion

La combinaison de plusieurs appels DATE_ADD() permet une construction de date précise :

SELECT DATE_ADD(DATE_ADD(MAKEDATE(2013, 1), INTERVAL (3)-1 MONTH), INTERVAL (11)-1 DAY);
| DATE_ADD(DATE_ADD(MAKEDATE(2013, 1), INTERVAL (3)-1 MONTH), INTERVAL (11)-1 DAY) |
+----------------------------------------------------------------------------------+
| 2013-03-11                                                                       |
+----------------------------------------------------------------------------------+
Copier après la connexion

Pour exécuter une requête de plage de dates à l'aide de ceci technique :

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';
Copier après la connexion

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal