O Amazon Redshift não permitirá mais a criação de funções definidas pelo usuário (UDFs) do Python a partir de 1.º de novembro de 2025. Se quiser usar UDFs do Python, você deve criá-las antes dessa data. As UDFs do Python existentes continuarão a funcionar normalmente. Para ter mais informações, consulte a publicação de blog
Função ANY_VALUE
A função ANY_VALUE retorna qualquer valor dos valores de expressão de entrada não deterministicamente. Essa função retornará NULL se a expressão de entrada não resultar no retorno de nenhuma linha. A função também poderá retornar NULL se houver valores NULL na expressão de entrada. Se a entrada contiver valores NULL misturados com valores não NULL, NULL poderá ser retornado. Se todos os valores forem NULL, NULL será retornado. Se nenhuma linha corresponder à condição, NULL será retornado.
Sintaxe
ANY_VALUE( [ DISTINCT | ALL ] expression )
Argumentos
- DISTINCT | ALL
-
Especifique DISTINCT ou ALL para retornar qualquer valor dos valores de expressão de entrada. O argumento DISTINCT não tem efeito e é ignorado.
- expressão
-
A coluna ou expressão de destino na qual a função opera. A expressão é um destes tipos de dados:
SMALLINT
INTEGER
BIGINT
DECIMAL
REAL
DOUBLE PRECISION
BOOLEAN
CHAR
VARCHAR
DATE
TIMESTAMP
TIMESTAMPTZ
TIME
TIMETZ
INTERVALO ENTRE UM ANO E UM MÊS
INTERVALO ENTRE UM DIA E UM SEGUNDO
VARBYTE
SUPER
HLLSKETCH
GEOMETRY
GEOGRAPHY
Retornos
Retorna o mesmo tipo de dados da expressão.
Observações de uso
Se uma instrução que especifica a função ANY_VALUE para uma coluna também incluir uma segunda referência de coluna, a segunda coluna deve aparecer em uma cláusula GROUP BY ou ser incluída em uma função agregada.
Exemplos
Os exemplos usam a tabela de eventos que é criada na Etapa 4: Carregar dados do Amazon S3 para o Amazon Redshift no Guia de conceitos básicos do Amazon Redshift. O exemplo a seguir retorna uma instância de qualquer dateid onde o eventname é Eagles.
select any_value(dateid) as dateid, eventname from event where eventname ='Eagles' group by eventname;
A seguir estão os resultados.
dateid | eventname -------+--------------- 1878 | Eagles
O exemplo a seguir retorna uma instância de qualquer dateid em que o eventname é Eagles ou Cold War Kids.
select any_value(dateid) as dateid, eventname from event where eventname in('Eagles', 'Cold War Kids') group by eventname;
A seguir estão os resultados.
dateid | eventname -------+--------------- 1922 | Cold War Kids 1878 | Eagles