- Catégories :
Fonctions de données semi-structurées et 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¶
variant_expr
Une expression qui correspond à une valeur de type VARIANT.
precision
Nombre de chiffres significatifs du nombre décimal à stocker.
scale
Le nombre de chiffres significatifs après le point décimal.
Notes sur l’utilisation¶
Par défaut,
precision
est38
etscale
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 | +---------+