- Catégories :
Fonctions de données semi-structurées (Conversion)
AS_DECIMAL , AS_NUMBER¶
Convertit une valeur VARIANT en décimale fixe (ne correspond pas aux valeurs à virgule flottante), avec une précision et une échelle facultatives.
AS_NUMBER est un synonyme de AS_DECIMAL.
- Voir aussi :
Syntaxe¶
AS_DECIMAL( <variant_expr> [ , <precision> [ , <scale> ] ] )
AS_NUMBER( <variant_expr> [ , <precision> [ , <scale> ] ] )
Arguments¶
expr_variante
Une expression qui correspond à une valeur de type VARIANT.
précision
Nombre de chiffres significatifs du nombre décimal à stocker.
échelle
Le nombre de chiffres significatifs après le point décimal.
Notes sur l’utilisation¶
Par défaut,
précision
est38
etéchelle
est0
.Lors de la réduction de l’échelle, cette fonction effectue un arrondi, ce qui peut entraîner des erreurs « out-of-range » (débordements de plage).
Exemples¶
Ceci montre comment utiliser la fonction :
Créez une table et des données :
CREATE TABLE multiple_types ( binary1 VARIANT, date1 VARIANT, decimal1 VARIANT, time1 VARIANT, timestamp1 VARIANT ); INSERT INTO multiple_types (binary1, date1, decimal1, time1, timestamp1) SELECT TO_VARIANT(TO_BINARY('F0A5')), TO_VARIANT(TO_DATE('2018-10-10')), TO_VARIANT(TO_DECIMAL(1.23, 6, 3)), TO_VARIANT(TO_TIME('12:34:56')), TO_VARIANT(TO_TIMESTAMP_NTZ('2018-10-10 12:34:56')) ;Maintenant, exécutez la requête :
SELECT AS_DECIMAL(decimal1, 6, 3) AS "Decimal" FROM multiple_types;Sortie :
+---------+ | Decimal | |---------| | 1.230 | +---------+