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 ANY_VALUE
La función ANY_VALUE devuelve cualquier valor de los valores de expresión de entrada de una manera que no sea determinista. Esta función devuelve NULL si la expresión de entrada no implica que se devuelva alguna fila. La función también puede devolver NULL si hay valores NULL en la expresión de entrada. Si la entrada contiene valores NULL mezclados con valores que no sean NULL, NULL se podría devolver. Si todos los valores son NULL, se devuelve NULL. Si ninguna fila coincide con la condición, se devuelve NULL.
Sintaxis
ANY_VALUE( [ DISTINCT | ALL ] expression )
Argumentos
- DISTINCT | ALL
-
Especifique DISTINCT u ALL para devolver cualquier valor de los valores de expresión de entrada. El argumento DISTINCT no tiene ningún efecto y se pasa por alto.
- expresión
-
La columna o la expresión de destino en la que opera la función. La expresión corresponde a uno de los siguientes tipos de datos:
SMALLINT
INTEGER
BIGINT
DECIMAL
REAL
DOUBLE PRECISION
BOOLEAN
CHAR
VARCHAR
DATE
TIMESTAMP
TIMESTAMPTZ
TIME
TIMETZ
INTERVALO AÑO A MES
INTERVALO DÍA A SEGUNDO
VARBYTE
SUPER
HLLSKETCH
GEOMETRY
GEOGRAPHY
Devuelve
Devuelve el mismo tipo de datos que expresión.
Notas de uso
Si una instrucción que especifica la función ANY_VALUE para una columna también incluye una segunda referencia de columna, la segunda columna debe aparecer en una cláusula GROUP BY o debe incluirse en una función de agrupación.
Ejemplos
En los ejemplos, se utiliza la tabla de eventos que se crea en el Paso 4: Cargar datos de muestra desde Amazon S3 en la Guía de introducción a Amazon Redshift. El siguiente ejemplo devuelve una instancia de cualquier DATEID donde el nombre del evento es Eagles.
select any_value(dateid) as dateid, eventname from event where eventname ='Eagles' group by eventname;
A continuación, se muestran los resultados.
dateid | eventname -------+--------------- 1878 | Eagles
El siguiente ejemplo devuelve una instancia de cualquier DATEID donde el nombre del evento es Eagles o Cold War Kids.
select any_value(dateid) as dateid, eventname from event where eventname in('Eagles', 'Cold War Kids') group by eventname;
A continuación, se muestran los resultados.
dateid | eventname -------+--------------- 1922 | Cold War Kids 1878 | Eagles