Pular para o conteúdo

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

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

Tenha em atenção o seguinte ao converter um valor de um tipo para outro:

  • Ao converter números de vírgula flutuante, números decimais ou cadeias de caracteres em números inteiros ou decimais com parte fracionária, o PlaidCloud Lakehouse arredonda os valores para o número inteiro mais próximo. Isto é determinado pela definição numeric_cast_option (por predefiniçã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 apresenta um resumo das operações de conversão numérica, destacando as possibilidades de conversão entre diferentes tipos de dados numéricos de origem e de destino. Tenha em atenção que especifica o requisito para a conversão de String em Integer, em que a cadeia de caracteres de origem tem de 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 disponibiliza várias funções para converter expressões em diferentes formatos de data e hora. Para mais informações, consulte Funções de data e hora.