- Kategorien:
Semistrukturierte Datenfunktionen (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-Ausdruck
Ein Ausdruck, der einen Wert vom Typ VARIANT ergibt.
Genauigkeit
Die Anzahl der signifikanten Stellen der zu speichernden Dezimalzahl.
Skalierung
Die Anzahl der signifikanten Stellen nach dem Dezimaltrennzeichen.
Nutzungshinweise¶
Standardmäßig ist die hat
Genauigkeit
einen Wert von38
undSkalierung
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 | +---------+