Aller au contenu

Fonctions de conversion (Lakehouse v1)

Cette section fournit des informations de référence sur les fonctions de conversion de PlaidCloud Lakehouse.

À noter lors de la conversion d’une valeur d’un type à un autre :

  • Lors de la conversion de nombres à virgule flottante, de nombres décimaux ou de chaînes en entiers ou en nombres décimaux avec partie fractionnaire, PlaidCloud Lakehouse arrondit les valeurs à l’entier le plus proche. Ce comportement est déterminé par le paramètre numeric_cast_option (par défaut ‘rounding’), qui contrôle le comportement des conversions numériques. Lorsque numeric_cast_option est explicitement défini sur ‘truncating’, PlaidCloud Lakehouse tronque la partie décimale et écarte toute valeur fractionnaire.

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

    Le tableau ci-dessous résume les conversions numériques et indique les possibilités de conversion entre les différents types de données numériques source et cible. À noter qu’il précise l’exigence pour la conversion d’une chaîne en entier : la chaîne source doit contenir une valeur entière.

    Type de source Type cible
    Chaîne Décimal
    Flottant Décimal
    Décimal Décimal
    Flottant Entier
    Décimal Entier
    Chaîne (entier) Entier
  • PlaidCloud Lakehouse propose également diverses fonctions pour convertir des expressions en différents formats de date et d’heure. Pour plus d’informations, consultez Fonctions de date et d’heure.