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 typeDATE
. - time
-
Colonne de type de données
TIME
ou expression implicitement évaluée à un typeTIME
. - timetz
-
Colonne de type de données
TIMETZ
ou expression implicitement évaluée à un typeTIMETZ
.
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