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 einemTIMESTAMP
-Typ ausgewertet wird. - timestamp2
-
Eine Spalte vom Datentyp
TIMESTAMP
oder ein Ausdruck, der implizit zu einemTIMESTAMP
-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)