Przejdź do głównej zawartości

Ta sekcja zawiera informacje referencyjne o funkcjach konwersji w PlaidCloud Lakehouse.

Uwaga: przy konwersji wartości z jednego typu na inny należy pamiętać o następujących kwestiach:

  • Podczas konwersji z liczb zmiennoprzecinkowych, liczb dziesiętnych lub ciągów znaków na liczby całkowite albo liczby dziesiętne z częścią ułamkową PlaidCloud Lakehouse zaokrągla wartości do najbliższej liczby całkowitej. Określa to ustawienie numeric_cast_option (domyślnie ‘rounding’), które steruje zachowaniem numerycznych operacji rzutowania. Gdy numeric_cast_option zostanie jawnie ustawione na ‘truncating’, PlaidCloud Lakehouse obcina część dziesiętną, odrzucając wszelkie wartości ułamkowe.

    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 │
    └──────────────────────────────────────────────────────────────────────────────────┘

    Poniższa tabela podsumowuje numeryczne operacje rzutowania i wskazuje możliwości rzutowania między różnymi źródłowymi i docelowymi numerycznymi typami danych. Uwaga: określa ona wymaganie dla rzutowania ze String na Integer — źródłowy ciąg znaków musi zawierać wartość całkowitą.

    Typ źródła Typ docelowy
    String Decimal
    Float Decimal
    Decimal Decimal
    Float Int
    Decimal Int
    String (Int) Int
  • PlaidCloud Lakehouse oferuje również różne funkcje do konwersji wyrażeń na różne formaty daty i godziny. Więcej informacji znajdziesz w funkcjach daty i godziny.