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
406 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!

source:php.cn
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