+ Opérateur (concaténation) - Amazon Redshift

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

+ Opérateur (concaténation)

Concatène une valeur DATE à une valeur TIME ou TIMETZ de chaque côté du symbole + et renvoie une valeur TIMESTAMP ou TIMESTAMPTZ.

Syntaxe

date + {time | timetz}

L’ordre des arguments peut être inversé. Par exemple, time + date.

Arguments

date

Colonne de type de données DATE ou expression implicitement évaluée à un type DATE.

time

Colonne de type de données TIME ou expression implicitement évaluée à un type TIME.

timetz

Colonne de type de données TIMETZ ou expression implicitement évaluée à un type TIMETZ.

Type de retour

TIMESTAMP si l’entrée est date + time.

TIMESTAMP si l’entrée est date + timetz.

Exemples

Exemple de configuration

Pour configurer les tables TIME_TEST et TIMETZ_TEST utilisées dans les exemples, utilisez la commande suivante.

create table time_test(time_val time); insert into time_test values ('20:00:00'), ('00:00:00.5550'), ('00:58:00'); create table timetz_test(timetz_val timetz); insert into timetz_test values ('04:00:00+00'), ('00:00:00.5550+00'), ('05:58:00+00');

Exemples avec une colonne time

L'exemple de table TIME_TEST suivant comporte une colonne TIME_VAL (type TIME) avec trois valeurs insérées.

select time_val from time_test; time_val --------------------- 20:00:00 00:00:00.5550 00:58:00

L’exemple suivant concatène une valeur de date littérale et une colonne TIME_VAL.

select date '2000-01-02' + time_val as ts from time_test; ts --------------------- 2000-01-02 20:00:00 2000-01-02 00:00:00.5550 2000-01-02 00:58:00

L’exemple suivant concatène une valeur de date littérale et une valeur de temps littérale.

select date '2000-01-01' + time '20:00:00' as ts; ts --------------------- 2000-01-01 20:00:00

L’exemple suivant concatène un littéral time et un littéral date.

select time '20:00:00' + date '2000-01-01' as ts; ts --------------------- 2000-01-01 20:00:00

Exemples avec une colonne TIMETZ

L'exemple de table TIMETZ_TEST suivant comporte une colonne TIMETZ_VAL (type TIMETZ) avec trois valeurs insérées.

select timetz_val from timetz_test; timetz_val ------------------ 04:00:00+00 00:00:00.5550+00 05:58:00+00

L’exemple suivant concatène une valeur de date littérale et une colonne TIMETZ_VAL.

select date '2000-01-01' + timetz_val as ts from timetz_test; ts --------------------- 2000-01-01 04:00:00+00 2000-01-01 00:00:00.5550+00 2000-01-01 05:58:00+00

L’exemple suivant concatène une colonne TIMETZ_VAL et un littéral date.

select timetz_val + date '2000-01-01' as ts from timetz_test; ts --------------------- 2000-01-01 04:00:00+00 2000-01-01 00:00:00.5550+00 2000-01-01 05:58:00+00

L’exemple suivant concatène une valeur DATE littérale et une valeur TIMETZ littérale. L’exemple renvoie une valeur TIMESTAMPTZ qui se trouve dans le fuseau horaire UTC par défaut. Le fuseau horaire UTC ayant 8 heures d’avance sur PST, le résultat affiche 8 heures d’avance par rapport à l’heure d’entrée.

select date '2000-01-01' + timetz '20:00:00 PST' as ts; ts ------------------------ 2000-01-02 04:00:00+00