Función TIMESTAMP_CMP - Amazon Redshift

Función TIMESTAMP_CMP

Compara el valor de dos marcas temporales y devuelve un número entero. Si las marcas temporales son idénticas, la función devuelve 0. Si la primera marca temporal es mayor, la función devuelve 1. Si la segunda marca temporal es mayor, la función devuelve -1.

Sintaxis

TIMESTAMP_CMP(timestamp1, timestamp2)

Argumentos

timestamp1

Una columna de tipo de datos TIMESTAMP o una expresión que toma implícitamente el valor de un tipo TIMESTAMP.

timestamp2

Una columna de tipo de datos TIMESTAMP o una expresión que toma implícitamente el valor de un tipo TIMESTAMP.

Tipo de retorno

INTEGER

Ejemplos

En el siguiente ejemplo se comparan las marcas temporales y se muestran los resultados de la comparación.

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

En el siguiente ejemplo, se compara LISTTIME y SALETIME para una lista. El valor de TIMESTAMP_CMP es -1 para todos los listados porque la marca temporal para la venta es posterior a la marca temporal para el listado.

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)

En este ejemplo, se muestra que TIMESTAMP_CMP devuelve 0 en caso de marcas temporales idénticas:

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)