Fonction REDSHIFT Current_Date

Fonction REDSHIFT Current_Date
La fonction actuelle_date dans le redshift est utilisée pour renvoyer la date du fuseau horaire UTC par défaut. Le type de données de la fonction current_date est la date, et le format par défaut de la date stockée est yyyy-mm-dd. Cette fonction peut être utilisée pour garder une trace des modifications apportées aux tableaux du cluster.

Bien que le fuseau horaire par défaut de la valeur renvoyée de la fonction actuelle_date soit UTC, il peut être modifié à l'aide d'autres fonctions intégrées de redshift. De même, certaines fonctions intégrées à redshift peuvent être utilisées pour extraire le jour, le mois et l'année de la valeur renvoyée de la fonction actuelle_date.

Dans ce blog, nous verrons comment la fonction REDSHIFT Current_Date peut être utilisée pour différents cas d'utilisation.

Syntaxe de current_date

La syntaxe de la fonction current_date est beaucoup plus simple que les autres fonctions intégrées disponibles pour le redshift. La fonction Current_Date ne prend aucun argument et peut être utilisée avec une instruction SELECT. Voici la syntaxe pour obtenir la date de début de la transaction actuelle en cours d'exécution sur Amazon Redshift.

Sélectionnez current_date;

Obtenez la date actuelle à l'aide de la fonction Current_Date

Afin d'obtenir la date actuelle dans Amazon Redshift, vous pouvez utiliser la fonction Current_Date. La fonction actuelle_date renvoie la date de début de la transaction au lieu de la date de début de l'instruction actuelle.

La requête suivante renvoie la date de début de la transaction actuelle dans le décalage rouge Amazon.

Sélectionnez current_date;

Voici la sortie de la fonction Current_Date dans le cluster Amazon Redshift.

DATE
2022-06-15

La date renvoyée de la fonction Current_Date sera dans le fuseau horaire UTC. Vous devez le régler en fonction de votre fuseau horaire avant de conclure les résultats.

Modifier le fuseau horaire de Current_Date

Comme décrit précédemment, la date renvoyée par la fonction actuelle_date sera dans le fuseau horaire UTC par défaut. Afin d'obtenir la date dans le fuseau horaire souhaité, vous devez modifier le fuseau horaire de la date de l'UTC à votre fuseau horaire préféré.

Afin de convertir le fuseau horaire de la fonction actuelle_date, nous utiliserons une autre fonction intégrée convert_timezone. Cette fonction prendra le fuseau horaire source, le fuseau horaire cible et le temps source, et il convertira l'heure en fuseau horaire cible.

La requête suivante générera la date de début de la transaction actuelle dans le fuseau horaire souhaité.

Sélectionnez convert_timezone ('utc', 'gmt + 5', current_date);
convert_timezone
2022-06-15 19:00:00

Lorsqu'il est exécuté dans Redshift, la requête précédente obtiendra d'abord la date actuelle en utilisant la fonction actuelle_date dans le fuseau horaire UTC, puis convertira le fuseau horaire de la date de l'UTC à GMT + 5.

Obtenir le jour, le mois et l'année de Current_Date

La fonction Current_Date renvoie la date au format Yyyy-mm-dd dans le fuseau horaire UTC. Vous pouvez extraire l'année, le mois et la journée à partir de la date à l'aide de la fonction d'extrait en Amazon Redshift.

Afin d'extraire l'année à partir de la date à l'aide de la fonction Current_Date et Extraire, exécutez la requête suivante dans le cluster Redshift:

Sélectionnez Extrait (année dans Current_Date) en année;
ANNÉE
2022

La requête précédente obtiendra d'abord la date de début de la transaction actuelle dans le fuseau horaire UTC, puis la fonction d'extrait extrait l'année de cette date.

De même, vous pouvez obtenir le mois à partir de la date actuelle en utilisant la méthode d'extrait. L'exécution de la requête suivante extrait le mois à partir de la date dans le cluster Redshift:

Sélectionnez Extrait (mois dans Current_Date) comme mois;
MOIS
6

Pour extraire la date de la fonction actuelle_date à l'aide de la fonction d'extrait, exécutez la requête suivante à l'intérieur du cluster Redshift:

Sélectionnez Extrait (jour dans Current_Date) comme jour;
JOUR
16

La requête Redshift précédente renvoie la date aujourd'hui en l'extrait de la fonction actuelle_date.

Vous pouvez également utiliser la fonction actuelle_date avec convert_timezone et extraire les fonctions pour extraire la date de la date actuelle dans votre fuseau horaire requis. Exécutez la requête suivante dans le cluster Redshift pour extraire la date de la date actuelle dans GMT + 5 fuseau horaire.

Sélectionnez convert_timezone ('utc', 'gmt + 5', extrait (jour de current_date));

La requête précédente obtiendra d'abord la date actuelle, puis la fonction d'extrait extraitra la date de la fonction actuelle_date. Ensuite, la fonction convert_timezone modifiera le fuseau horaire de la date de l'UTC à GMT + 5.

Format de date changeant

Le format par défaut de la fonction current_date est yyyy-mm-dd, mais vous pouvez toujours modifier le format de date. La fonction TO_CHAR peut être utilisée pour modifier le format par défaut de la fonction Current_Date.

La requête suivante obtiendra la date de début de la transaction actuelle dans le format souhaité.

SELECT TO_CHAR (current_date, 'mm-dd-yyyy');
to_char
06-16-2022

Conclusion

La fonction actuelle_date dans Redshift peut être utilisée pour obtenir la date de début de la transaction actuelle en cours d'exécution sur le cluster. Par défaut, cette fonction renvoie la date actuelle dans le fuseau horaire UTC au format Yyyy-mm-dd. Cette fonction peut être utilisée avec d'autres fonctions pour intégrer la date actuelle dans le format et le fuseau horaire souhaités. Cet article décrit différents cas d'utilisation de la fonction current_date en conjonction avec d'autres fonctions liées à l'heure et à la date, telles que convert_timezone et extraire.