Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:
Databricks SQL
Databricks Runtime 11.3 LTS und höher
Gibt expr zurück, das mithilfe der Formatierung fmt in einen Dezimalwert umgewandelt wurde.
Syntax
to_number(expr, fmt)
fmt
{ ' [ MI | S ] [ L | $ ]
[ 0 | 9 | G | , ] [...]
[ . | D ]
[ 0 | 9 ] [...]
[ L | $ ] [ PR | MI | S ] ' }
Argumente
-
expr: Ein STRING-Ausdruck, der eine Zahl darstellt.exprkann führende oder nachstehende Leerzeichen enthalten. -
fmt: Ein STRING-Literal, das das erwartete Format vonexprangibt.
Gibt zurück
DECIMAL(p, s), wobei p die Gesamtzahl der Ziffern (0 oder 9) und s die Anzahl der Nachkommastellen oder 0 ist, wenn es keine gibt.
fmt kann die folgenden Elemente enthalten (Groß-/Kleinschreibung wird nicht beachtet):
0oder9Gibt eine erwartete Ziffer zwischen
0und9an. Ein0links vom Dezimalzeichen zeigt an, dassexprmindestens so viele Ziffern aufweisen muss. Ein führendes9gibt an, dassexprdiese Ziffern weggelassen kann.exprdarf nicht größer sein, als es die Anzahl der Ziffern links vom Dezimalzeichen gestattet.Ziffern rechts neben dem Dezimalzeichen deuten auf die maximale Anzahl von Ziffern hin, die
exprrechts neben dem Dezimalzeichen aufweisen darf, alsfmtangibt..oderDGibt die Position des Dezimalzeichens an.
exprmuss kein Dezimalzeichen enthalten.,oderGGibt die Position des
,-Trennzeichens für die Gruppierung (Tausender) an. Es muss ein0oder9links oder rechts von jedem Gruppierungstrennzeichen vorhanden sein.exprmuss mit dem für die Größe der Zahl relevanten Gruppierungstrennzeichen übereinstimmen.Loder$Gibt die Position des
$-Währungszeichens an. Dieses Zeichen darf nur einmal angegeben werden.SoderMIGibt die Position eines optionalen '+'- oder '-'-Zeichens für
Sund '-' nur fürMIan. Diese Anweisung darf nur einmal angegeben werden.PRNur am Ende der Formatzeichenfolge zulässig. Gibt an, dass
expreine negative Zahl mit umschließenden spitzen Klammern (<1>) angibt.
Wenn expr andere Zeichen als 0 bis 9 oder Zeichen enthält, die in fmt erlaubt sind, wird ein Fehler zurückgegeben.
Um NULL anstelle eines Fehlers für das ungültige expr zurückzugeben, verwenden Sie try_to_number().
Beispiele
-- The format expects:
-- * an optional sign at the beginning,
-- * followed by a dollar sign,
-- * followed by a number between 3 and 6 digits long,
-- * thousands separators,
-- * up to two dight beyond the decimal point.
> SELECT to_number('-$12,345.67', 'S$999,099.99');
-12345.67
-- Plus is optional, and so are fractional digits.
> SELECT to_number('$345', 'S$999,099.99');
345.00
-- The format requires at least three digits.
> SELECT to_number('$45', 'S$999,099.99');
Error: INVALID_FORMAT.MISMATCH_INPUT
-- The format requires at least three digits.
> SELECT try_to_number('$45', 'S$999,099.99');
NULL
-- The format requires at least three digits
> SELECT to_number('$045', 'S$999,099.99');
45.00
-- Using brackets to denote negative values
> SELECT to_number('<1234>', '999999PR');
-1234