Maison > base de données > tutoriel mysql > Comment puis-je générer une série de dates non dupliquées dans MySQL sans utiliser de tables ou de variables temporaires ?

Comment puis-je générer une série de dates non dupliquées dans MySQL sans utiliser de tables ou de variables temporaires ?

Susan Sarandon
Libérer: 2024-12-08 10:21:11
original
991 Les gens l'ont consulté

How Can I Generate a Series of Non-Duplicate Dates in MySQL Without Using Temporary Tables or Variables?

Générer une série de dates (approche sans duplication)

Créer une série de dates dans une plage spécifique est une tâche courante rencontrée dans diverses applications de programmation. MySQL propose plusieurs méthodes pour y parvenir.

Une solution efficace, en particulier face à des restrictions telles que la création de tables temporaires interdites et la définition de variables, consiste à utiliser une requête d'auto-jointure. Cette approche génère une liste de dates dans une période spécifiée, comme le montre l'extrait de code suivant :

select * from 
(select adddate('1970-01-01',t4*10000 + t3*1000 + t2*100 + t1*10 + t0) gen_date from
 (select 0 t0 union select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select 7 union select 8 union select 9) t0,
 (select 0 t1 union select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select 7 union select 8 union select 9) t1,
 (select 0 t2 union select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select 7 union select 8 union select 9) t2,
 (select 0 t3 union select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select 7 union select 8 union select 9) t3,
 (select 0 t4 union select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select 7 union select 8 union select 9) t4) v
where gen_date between '2017-01-01' and '2017-12-31'
Copier après la connexion

Cette requête génère une série de dates entre le « 01-01-2017 » et le « 12-2017 ». -31' en manipulant les valeurs de date à l'aide de la fonction adddate() et de diverses sous-requêtes représentant les jours, les mois et les années.

Cette approche offre une méthode concise et efficace pour générer une plage de dates, en particulier dans les situations où la création de tables temporaires ou la définition de variables ne sont pas des options réalisables.

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