- Categorias:
Funções de dados semiestruturados e estruturados (Conversão)
AS_DECIMAL , AS_NUMBER¶
Converte um valor de VARIANT em um ponto decimal fixo (não corresponde aos valores de ponto flutuante), com precisão e escala opcionais.
AS_NUMBER é um sinônimo de AS_DECIMAL.
- Consulte também:
Sintaxe¶
AS_DECIMAL( <variant_expr> [ , <precision> [ , <scale> ] ] )
AS_NUMBER( <variant_expr> [ , <precision> [ , <scale> ] ] )
Argumentos¶
variant_expr
Uma expressão que avalia como um valor do tipo VARIANT.
precision
O número de dígitos significativos do número decimal a armazenar.
scale
O número de dígitos significativos após o ponto decimal.
Notas de uso¶
O padrão para
precision
é38
escale
é0
.Ao reduzir a escala, esta função é arredondada, o que pode causar erros fora da escala.
Exemplos¶
Isso mostra como usar a função:
Criar uma tabela e dados:
CREATE TABLE multiple_types ( binary1 VARIANT, date1 VARIANT, decimal1 VARIANT, time1 VARIANT, timestamp1 VARIANT ); INSERT INTO multiple_types (binary1, date1, decimal1, time1, timestamp1) SELECT TO_VARIANT(TO_BINARY('F0A5')), TO_VARIANT(TO_DATE('2018-10-10')), TO_VARIANT(TO_DECIMAL(1.23, 6, 3)), TO_VARIANT(TO_TIME('12:34:56')), TO_VARIANT(TO_TIMESTAMP_NTZ('2018-10-10 12:34:56')) ;Agora executar a consulta:
SELECT AS_DECIMAL(decimal1, 6, 3) AS "Decimal" FROM multiple_types;Saída:
+---------+ | Decimal | |---------| | 1.230 | +---------+