Amazon Redshift dejará de admitir la creación de nuevas UDF de Python a partir del 1 de noviembre de 2025. Si desea utilizar las UDF de Python, créelas antes de esa fecha. Las UDF de Python existentes seguirán funcionando con normalidad. 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)