Amazon Redshift dejará de admitir la creación de nuevas UDF de Python a partir del parche 198. Las UDF de Python existentes seguirán funcionando hasta el 30 de junio de 2026. Para obtener más información, consulte la publicación del blog
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
TIMESTAMPo una expresión que toma implícitamente el valor de un tipoTIMESTAMP. - timestamp2
-
Una columna de tipo de datos
TIMESTAMPo una expresión que toma implícitamente el valor de un tipoTIMESTAMP.
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)