Selecione suas preferências de cookies

Usamos cookies essenciais e ferramentas semelhantes que são necessárias para fornecer nosso site e serviços. Usamos cookies de desempenho para coletar estatísticas anônimas, para que possamos entender como os clientes usam nosso site e fazer as devidas melhorias. Cookies essenciais não podem ser desativados, mas você pode clicar em “Personalizar” ou “Recusar” para recusar cookies de desempenho.

Se você concordar, a AWS e terceiros aprovados também usarão cookies para fornecer recursos úteis do site, lembrar suas preferências e exibir conteúdo relevante, incluindo publicidade relevante. Para aceitar ou recusar todos os cookies não essenciais, clique em “Aceitar” ou “Recusar”. Para fazer escolhas mais detalhadas, clique em “Personalizar”.

Função SIGN

Modo de foco
Função SIGN - Amazon Redshift

A função SIGN retorna o sinal (positivo ou negativo) de um número. O resultado da função SIGN será 1 se o argumento for positivo, -1 se o argumento for negativo ou 0 se o argumento for 0.

Sintaxe

SIGN(number)

Argumento

número

Número ou expressão que avalia para um número. Ele pode ser tipo DECIMAL, FLOAT8 ou SUPER. O Amazon Redshift pode converter outros tipos de dados de acordo com as regras de conversão implícitas.

Tipo de retorno

SIGN retorna o mesmo tipo de dados numéricos que o argumento de entrada. Se a entrada for DECIMAL, a saída será DECIMAL(1,0).

Quando a entrada é do tipo SUPER, a saída mantém o mesmo tipo dinâmico que a entrada enquanto o tipo estático permanece o tipo SUPER. Quando o tipo dinâmico de SUPER não é um número, o Amazon Redshift retorna um NULL.

Exemplos

O exemplo a seguir mostra que a coluna d na tabela t2 tem DOUBLE PRECISION como seu tipo, já que a entrada é DOUBLE PRECISION e que a coluna n na tabela t2 tem NUMERIC(1,0) como saída, visto que a entrada é NUMERIC.

CREATE TABLE t1(d DOUBLE PRECISION, n NUMERIC(12, 2)); INSERT INTO t1 VALUES (4.25, 4.25), (-4.25, -4.25); CREATE TABLE t2 AS SELECT SIGN(d) AS d, SIGN(n) AS n FROM t1; SELECT table_name, column_name, data_type FROM SVV_REDSHIFT_COLUMNS WHERE table_name='t1' OR table_name='t2'; +------------+-------------+-----------------------+ | table_name | column_name | data_type | +------------+-------------+-----------------------+ | t1 | d | double precision | | t1 | n | numeric(12,2) | | t2 | d | double precision | | t2 | n | numeric(1,0) | | t1 | col1 | character varying(20) | +------------+-------------+-----------------------+

Os exemplos a seguir usa o banco de dados de exemplo de TICKIT. Para obter mais informações, consulte Banco de dados de exemplo.

Para determinar o sinal da comissão paga por determinada transação na tabela SALES, use o exemplo a seguir.

SELECT commission, SIGN(commission) FROM sales WHERE salesid=10000; +------------+------+ | commission | sign | +------------+------+ | 28.05 | 1 | +------------+------+

Nesta página

PrivacidadeTermos do sitePreferências de cookies
© 2025, Amazon Web Services, Inc. ou suas afiliadas. Todos os direitos reservados.