Catégories :

Fonctions de données semi-structurées et structurées (prédicats de type)

IS_DECIMAL

Renvoie TRUE si son argument VARIANT contient une valeur de décimale en virgule flottante ou d’entier.

Voir aussi :

IS_<type_objet> , IS_DOUBLE , IS_REAL , IS_INTEGER

Syntaxe

IS_DECIMAL( <variant_expr> )
Copy

Arguments

variant_expr

Une expression qui correspond à une valeur de type VARIANT.

Exemples

Ceci montre comment utiliser la fonction :

Créez une table et des données :

CREATE TABLE multiple_types (
    array1 VARIANT,
    array2 VARIANT,
    boolean1 VARIANT,
    char1 VARIANT,
    varchar1 VARIANT,
    decimal1 VARIANT,
    double1 VARIANT,
    integer1 VARIANT,
    object1 VARIANT
    );
INSERT INTO multiple_types 
     (array1, array2, boolean1, char1, varchar1, 
      decimal1, double1, integer1, object1)
   SELECT 
     TO_VARIANT(TO_ARRAY('Example')), 
     TO_VARIANT(ARRAY_CONSTRUCT('Array-like', 'example')), 
     TO_VARIANT(TRUE), 
     TO_VARIANT('X'), 
     TO_VARIANT('I am a real character'), 
     TO_VARIANT(1.23::DECIMAL(6, 3)),
     TO_VARIANT(3.21::DOUBLE),
     TO_VARIANT(15),
     TO_VARIANT(TO_OBJECT(PARSE_JSON('{"Tree": "Pine"}')))
     ;
Copy

Maintenant, exécutez la requête :

SELECT IS_DECIMAL(decimal1), IS_DECIMAL(integer1), IS_DECIMAL(double1) FROM multiple_types;
+----------------------+----------------------+---------------------+
| IS_DECIMAL(DECIMAL1) | IS_DECIMAL(INTEGER1) | IS_DECIMAL(DOUBLE1) |
|----------------------+----------------------+---------------------|
| True                 | True                 | False               |
+----------------------+----------------------+---------------------+
Copy