Funktion TIMESTAMP_CMP - Amazon Redshift

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Funktion TIMESTAMP_CMP

Vergleicht die Werte zweier Zeitstempel und gibt eine Ganzzahl aus. Wenn die Zeitstempel identisch sind, gibt die Funktion 0 zurück. Ist der erste Zeitstempel größer, gibt die Funktion 1 zurück. Ist der zweite Zeitstempel größer, gibt die Funktion -1 zurück.

Syntax

TIMESTAMP_CMP(timestamp1, timestamp2)

Argumente

timestamp1

Eine Spalte vom Datentyp TIMESTAMP oder ein Ausdruck, der implizit zu einem TIMESTAMP-Typ ausgewertet wird.

timestamp2

Eine Spalte vom Datentyp TIMESTAMP oder ein Ausdruck, der implizit zu einem TIMESTAMP-Typ ausgewertet wird.

Rückgabetyp

INTEGER

Beispiele

Das folgende Beispiel vergleicht Zeitstempel und zeigt die Ergebnisse des Vergleichs.

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

Das folgende Beispiel vergleicht LISTTIME und SALETIME für eine Auflistung. Der Wert für TIMESTAMP_CMP ist -1 für alle Angebote, da der Zeitstempel für den Verkauf nach dem Zeitstempel für das Angebot liegt.

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)

Dieses Beispiel zeigt, dass TIMESTAMP_CMP für identische Zeitstempel den Wert 0 zurückgibt:

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)