- Kategorien:
Funktionen für semistrukturierte und strukturierte Daten (Umwandlung)
AS_DECIMAL , AS_NUMBER¶
Wandelt einen VARIANT-Wert in eine Festkommadezimalzahl (stimmt nicht mit Gleitkommawerten überein) um, mit optionaler Genauigkeit und Skalierung.
AS_NUMBER ist ein Synonym für AS_DECIMAL.
- Siehe auch:
Syntax¶
AS_DECIMAL( <variant_expr> [ , <precision> [ , <scale> ] ] )
AS_NUMBER( <variant_expr> [ , <precision> [ , <scale> ] ] )
Argumente¶
variant_expr
Ein Ausdruck, der einen Wert vom Typ VARIANT ergibt.
precision
Die Anzahl der signifikanten Stellen der zu speichernden Dezimalzahl.
scale
Die Anzahl der signifikanten Stellen nach dem Dezimaltrennzeichen.
Nutzungshinweise¶
Standardmäßig hat
precision
einen Wert von38
undscale
einen Wert von0
.Bei Reduzierung der Skalierung sorgt die Funktion für Rundung, was zu Out-of-Range-Fehlern führen kann.
Beispiele¶
Hier sehen Sie, wie sich die Funktion verwenden lässt:
Erstellen Sie eine Tabelle und Daten:
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')) ;Führen Sie nun die Abfrage aus:
SELECT AS_DECIMAL(decimal1, 6, 3) AS "Decimal" FROM multiple_types;Ausgabe:
+---------+ | Decimal | |---------| | 1.230 | +---------+