- Kategorien:
Funktionen für semistrukturierte und strukturierte Daten (Umwandlung)
AS_DECIMAL , AS_NUMBER¶
Wandelt einen VARIANT-Wert in einen Festkommawert NUMBER um, mit optionaler Gesamtstellenzahl (precision) und einer Dezimalstellenzahl (scale). Diese Funktion wandelt keine Gleitkommawerte um.
AS_DECIMAL ist ein Synonym für AS_NUMBER.
Der Datentyp DECIMAL ist gleichbedeutend mit dem Datentyp NUMBER.
- 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.
Der Standardwert ist
38
.scale
Die Anzahl der signifikanten Stellen nach dem Dezimaltrennzeichen.
Der Standardwert ist
0
.
Rückgabewerte¶
Die Funktion gibt einen Wert vom Typ NUMBER oder NULL zurück.
Wenn der Typ des Werts im Argument
variant_expr
DECIMAL oder NUMBER ist, gibt die Funktion einen Wert vom Typ NUMBER zurück.
Wenn der Typ des Werts im Argument
variant_expr
nicht mit dem Typ des Ausgabewerts übereinstimmt, gibt die Funktion NULL zurück.Wenn das Argument
variant_expr
NULL ist, gibt die Funktion NULL zurück.
Nutzungshinweise¶
Bei Reduzierung der Skalierung rundet die Funktion das Ergebnis, was zu Out-of-Range-Fehlern führen kann.
Beispiele¶
Erstellen Sie eine Tabelle, und laden Sie Daten hinein:
CREATE OR REPLACE TABLE as_number_example (number1 VARIANT);
INSERT INTO as_number_example (number1)
SELECT TO_VARIANT(TO_NUMBER(2.34, 6, 3));
Verwenden Sie die Funktion AS_NUMBER in einer Abfrage, um einen VARIANT-Wert in einen NUMBER-Wert umzuwandeln:
SELECT AS_NUMBER(number1, 6, 3) number_value
FROM as_number_example;
+--------------+
| NUMBER_VALUE |
|--------------|
| 2.340 |
+--------------+