Fonction TIMESTAMP_CMP - 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.

Fonction TIMESTAMP_CMP

Compare la valeur de deux horodatages et renvoie un nombre entier. Si les valeurs d’horodatage sont identiques, la fonction renvoie 0. Si la valeur du premier horodatage est supérieure, la fonction renvoie 1. Si la valeur du second horodatage est supérieure, la fonction renvoie -1.

Syntaxe

TIMESTAMP_CMP(timestamp1, timestamp2)

Arguments

timestamp1

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

timestamp2

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

Type de retour

INTEGER

Exemples

L’exemple suivant compare les horodatages et affiche les résultats de la comparaison.

SELECT TIMESTAMP_CMP('2008-01-24 06:43:29', '2008-01-24 06:43:29'), TIMESTAMP_CMP('2008-01-24 06:43:29', '2008-02-18 02:36:48'), TIMESTAMP_CMP('2008-02-18 02:36:48', '2008-01-24 06:43:29'); timestamp_cmp | timestamp_cmp | timestamp_cmp ---------------+---------------+--------------- 0 | -1 | 1

L’exemple suivant compare les LISTTIME et SALETIME pour obtenir une liste. La valeur de TIMESTAMP_CMP est -1 pour toutes les listes, car l’horodatage de la vente est postérieur à celui de la liste.

select listing.listid, listing.listtime, sales.saletime, timestamp_cmp(listing.listtime, sales.saletime) from listing, sales where listing.listid=sales.listid order by 1, 2, 3, 4 limit 10; listid | listtime | saletime | timestamp_cmp --------+---------------------+---------------------+--------------- 1 | 2008-01-24 06:43:29 | 2008-02-18 02:36:48 | -1 4 | 2008-05-24 01:18:37 | 2008-06-06 05:00:16 | -1 5 | 2008-05-17 02:29:11 | 2008-06-06 08:26:17 | -1 5 | 2008-05-17 02:29:11 | 2008-06-09 08:38:52 | -1 6 | 2008-08-15 02:08:13 | 2008-08-31 09:17:02 | -1 10 | 2008-06-17 09:44:54 | 2008-06-26 12:56:06 | -1 10 | 2008-06-17 09:44:54 | 2008-07-10 02:12:36 | -1 10 | 2008-06-17 09:44:54 | 2008-07-16 11:59:24 | -1 10 | 2008-06-17 09:44:54 | 2008-07-22 02:23:17 | -1 12 | 2008-07-25 01:45:49 | 2008-08-04 03:06:36 | -1 (10 rows)

Cet exemple montre que TIMESTAMP_CMP renvoie un 0 pour des horodatages identiques :

select listid, timestamp_cmp(listtime, listtime) from listing order by 1 , 2 limit 10; listid | timestamp_cmp --------+--------------- 1 | 0 2 | 0 3 | 0 4 | 0 5 | 0 6 | 0 7 | 0 8 | 0 9 | 0 10 | 0 (10 rows)