Pular para o conteúdo

Funções de Conversão (Lakehouse v1)

Esta seção traz informações de referência sobre as funções de conversão do PlaidCloud Lakehouse.

Observe o seguinte ao converter um valor de um tipo para outro:

  • Ao converter números de ponto flutuante, números decimais ou strings em inteiros ou em números decimais com partes fracionárias, o PlaidCloud Lakehouse arredonda os valores para o inteiro mais próximo. Isso é determinado pela configuração numeric_cast_option (o padrão é ‘rounding’), que controla o comportamento das operações de conversão numérica. Quando numeric_cast_option é definida explicitamente como ‘truncating’, o PlaidCloud Lakehouse trunca a parte decimal, descartando quaisquer valores fracionários.

    SELECT CAST('0.6' AS DECIMAL(10, 0)), CAST(0.6 AS DECIMAL(10, 0)), CAST(1.5 AS INT);
    ┌──────────────────────────────────────────────────────────────────────────────────┐
    │ cast('0.6' as decimal(10, 0)) │ cast(0.6 as decimal(10, 0)) │ cast(1.5 as int32) │
    ├───────────────────────────────┼─────────────────────────────┼────────────────────┤
    │ 1 │ 1 │ 2 │
    └──────────────────────────────────────────────────────────────────────────────────┘
    SET numeric_cast_option = 'truncating';
    SELECT CAST('0.6' AS DECIMAL(10, 0)), CAST(0.6 AS DECIMAL(10, 0)), CAST(1.5 AS INT);
    ┌──────────────────────────────────────────────────────────────────────────────────┐
    │ cast('0.6' as decimal(10, 0)) │ cast(0.6 as decimal(10, 0)) │ cast(1.5 as int32) │
    ├───────────────────────────────┼─────────────────────────────┼────────────────────┤
    │ 0 │ 0 │ 1 │
    └──────────────────────────────────────────────────────────────────────────────────┘

    A tabela abaixo resume as operações de conversão numérica, destacando as conversões possíveis entre diferentes tipos de dados numéricos de origem e de destino. Observe que ela especifica o requisito para a conversão de String em Integer: a string de origem deve conter um valor inteiro.

    Tipo de origem Tipo de destino
    String Decimal
    Float Decimal
    Decimal Decimal
    Float Int
    Decimal Int
    String (Int) Int
  • O PlaidCloud Lakehouse também oferece diversas funções para converter expressões em diferentes formatos de data e hora. Para mais informações, consulte Funções de Data e Hora.