Exemples de littéraux interval sans syntaxe de qualificatif - Amazon Redshift

Amazon Redshift ne prendra plus en charge la création de nouvelles fonctions Python définies par l’utilisateur à compter du 1er novembre 2025. Si vous souhaitez utiliser des fonctions Python définies par l’utilisateur, créez-les avant cette date. Les fonctions Python définies par l’utilisateur existantes continueront de fonctionner normalement. Pour plus d’informations, consultez le billet de blog .

Exemples de littéraux interval sans syntaxe de qualificatif

Note

Les exemples suivants illustrent l’utilisation d’un littéral interval sans qualificatif YEAR TO MONTH ou DAY TO SECOND. Pour plus d’informations sur l’utilisation du littéral interval recommandé avec un qualificatif, consultez Types de données et littéraux interval.

Utilisez un littéral de type interval pour identifier les périodes spécifiques, comme 12 hours ou 6 months. Vous pouvez utiliser ces littéraux de type interval dans les cas et les calculs qui impliquent des expressions de type datetime.

Un littéral interval est exprimé comme la combinaison du mot clé INTERVAL avec une quantité numérique et d’une partie date prise en charge ; par exemple : INTERVAL '7 days' ou INTERVAL '59 minutes'. Plusieurs quantités et unités peuvent être associées pour former un intervalle plus précis ; par exemple : INTERVAL '7 days, 3 hours, 59 minutes'. Les abréviations et les pluriels de chaque unité sont également pris en charge ; par exemple : 5 s, 5 second et 5 seconds sont des intervalles équivalents.

Si vous ne spécifiez pas une partie date, la valeur de l’intervalle correspond à des secondes. Vous pouvez spécifier la valeur de la quantité sous forme de fraction (par exemple : 0.5 days).

Les exemples suivants illustrent une série de calculs avec différentes valeurs d’intervalle.

Ce qui suit ajoute 1 seconde à la date spécifiée.

select caldate + interval '1 second' as dateplus from date where caldate='12-31-2008'; dateplus --------------------- 2008-12-31 00:00:01 (1 row)

Ce qui suit ajoute 1 minute à la date spécifiée.

select caldate + interval '1 minute' as dateplus from date where caldate='12-31-2008'; dateplus --------------------- 2008-12-31 00:01:00 (1 row)

Ce qui suit ajoute 3 heures et 35 minutes à la date spécifiée.

select caldate + interval '3 hours, 35 minutes' as dateplus from date where caldate='12-31-2008'; dateplus --------------------- 2008-12-31 03:35:00 (1 row)

Ce qui suit ajoute 52 semaines à la date spécifiée.

select caldate + interval '52 weeks' as dateplus from date where caldate='12-31-2008'; dateplus --------------------- 2009-12-30 00:00:00 (1 row)

Ce qui suit ajoute 1 semaine, 1 heure, 1 minute, et 1 seconde à la date spécifiée.

select caldate + interval '1w, 1h, 1m, 1s' as dateplus from date where caldate='12-31-2008'; dateplus --------------------- 2009-01-07 01:01:01 (1 row)

Ce qui suit ajoute 12 heures (la moitié d’une journée) à la date spécifiée.

select caldate + interval '0.5 days' as dateplus from date where caldate='12-31-2008'; dateplus --------------------- 2008-12-31 12:00:00 (1 row)

Ce qui suit soustrait 4 mois à compter du 15 février 2023 et le résultat est le 15 octobre 2022.

select date '2023-02-15' - interval '4 months'; ?column? --------------------- 2022-10-15 00:00:00

Ce qui suit soustrait 4 mois à compter du 31 mars 2023 et le résultat est le 30 novembre 2022. Le calcul prend en compte le nombre de jours dans un mois.

select date '2023-03-31' - interval '4 months'; ?column? --------------------- 2022-11-30 00:00:00