Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A
A következőkre vonatkozik:
Databricks SQL
Databricks Runtime 11.3 LTS és újabb
expr a TIZEDES értékre öntött értéket adja vissza fmt formázással.
Szintaxis
to_number(expr, fmt)
fmt
{ ' [ MI | S ] [ L | $ ]
[ 0 | 9 | G | , ] [...]
[ . | D ]
[ 0 | 9 ] [...]
[ L | $ ] [ PR | MI | S ] ' }
Argumentumok
-
expr: Egy számot jelképező KARAKTERLÁNC-kifejezés.exprtartalmazhat kezdő vagy záró szóközöket. -
fmt: Egy KARAKTERLÁNC-literál, amely megadja aexprvárt formátumát.
Visszatérítések
DECIMAL szám (p, s), ahol p a számjegyek teljes száma (0 vagy 9), és s a tizedesvessző utáni számjegyek száma, vagy 0, ha nincs.
fmt a következő elemeket tartalmazhatja (nem érzékeny a kis- és nagybetűkre):
0vagy9Adjon meg egy számjegyet, amely
0és9között várható. A tizedespontoktól balra lévő A0érték azt jelzi, hogyexprlegalább annyi számjegynek kell lennie. A bevezető9azt jelzi, hogyexprkihagyhatja ezeket a számjegyeket.exprnem lehet nagyobb, mint amennyit a tizedesvessző bal oldalán lévő számjegyek megengednek.A tizedesvessző jobb oldalán lévő számjegyek azt jelzik, hogy
exprtöbb számjeggyel rendelkezhet a tizedespont után, mint ahányatfmtmegad..vagyDA tizedesvessző pozícióját adja meg.
exprnem kell tizedesvesszőt tartalmaznia.,vagyGMeghatározza a csoportosítás
,(ezres) elválasztó helyét. Az egyes csoportosítási elválasztóknak0balra és9jobbra kell lenniük.exprmeg kell egyeznie a szám méretéhez kapcsolódó csoportosítási elválasztóval.Lvagy$Meghatározza a
$pénznemjel helyét. Ez a karakter csak egyszer adható meg.SvagyMIMegadja a "+" vagy "-" jel lehetőségét
S, és csak a "-" jel helyétMIesetén. Ez az irányelv csak egyszer adható meg.PRCsak a formátumsztring végén engedélyezett; azt adja meg, hogy
exprnegatív számot jelezzen a hegyes zárójelekkel (<1>).
Ha a expr a 0 és 9 közötti karaktereken, vagy a fmt megengedett karakterein kívül más karaktereket tartalmaz, akkor hiba keletkezik.
Ha érvénytelen NULL esetén expr-t szeretnél kapni a hiba helyett, akkor használd a try_to_number() függvényt.
Példák
-- 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