Maison >base de données >tutoriel mysql >Comment générer une plage de dates couvrant la dernière année en SQL ?

Comment générer une plage de dates couvrant la dernière année en SQL ?

Patricia Arquette
Patricia Arquetteoriginal
2025-01-06 17:42:42157parcourir

How to Generate a Date Range Covering the Last Year in SQL?

Génération de plages de dates à l'aide de SQL

Question :

Comment puis-je générer une liste de dates couvrant la dernière année à utiliser dans une requête SQL nécessitant une date paramètre ?

Réponse :

Pour générer une plage de dates à l'aide de SQL, différentes méthodes sont disponibles. Une approche efficace consiste à utiliser la clause CONNECT BY, comme démontré ci-dessous :

SELECT TRUNC(SYSDATE - ROWNUM) dt
FROM DUAL
CONNECT BY ROWNUM < 366;

Cette requête génère une liste de 366 dates, représentant les 365 derniers jours. La fonction TRUNC tronque la date pour supprimer le composant horaire, ne laissant que la valeur de date.

En utilisant la table DUAL en conjonction avec CONNECT BY, vous pouvez générer une séquence de lignes basée sur la condition spécifiée (ROWNUM < ; 366 dans ce cas). Chaque ligne représente une date unique dans la plage spécifiée.

Cette méthode fournit une solution simple et efficace pour générer une plage de dates à utiliser dans les requêtes SQL, sans avoir besoin de tables supplémentaires ou de logique complexe.

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:
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