A to_number
függvény
A következőkre vonatkozik: Databricks SQL
Databricks Runtime 11.3 LTS és újabb
Formázással fmt
visszaadja expr
a TIZEDES értékre öntött értéket.
Syntax
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.expr
lehetnek kezdő vagy záró szóközök.fmt
: KARAKTERLÁNC-literál, amely a várt formátumotexpr
adja meg.
Válaszok
TIZEDES(ek), 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 (a kis- és nagybetűk nem érzékenek):
0
vagy9
A várt számjegyet adja meg a kettő között és
9
között0
. A tizedespontoktól balra lévő A0
érték azt jelzi, hogyexpr
legalább annyi számjegynek kell lennie. A bevezető9
azt jelzi, hogyexpr
kihagyhatja ezeket a számjegyeket.expr
nem lehet nagyobb, mint a tizedesvessző bal oldalán lévő számjegyek száma.A tizedesjegyek jobb oldalán lévő számjegyek azt jelzik
expr
, hogy a legtöbb számjegynek a tizedesvessző jobb oldalán lehet, mintfmt
a megadott érték..
vagyD
A tizedesvessző pozícióját adja meg.
expr
nem kell tizedesvesszőt tartalmaznia.,
vagyG
Megadja a csoportosítási
,
(ezres) elválasztó helyét. Az egyes csoportosítási elválasztóknak balra vagy9
jobbra kell lenniük0
.expr
meg kell egyeznie a szám méretéhez kapcsolódó csoportosítási elválasztóval.L
vagy$
Megadja a pénznemjel helyét
$
. Ez a karakter csak egyszer adható meg.S
vagyMI
A választható "+" vagy "-" jel pozícióját
S
adja meg, a "-" pedig csak a következőhözMI
: . Ez az irányelv csak egyszer adható meg.PR
Csak a formátumsztring végén engedélyezett; azt adja meg, hogy
expr
negatív számot jelez a körbefuttatási szögletes zárójelekkel (<1>
).
Ha expr
nem 0
a rajta keresztüli 9
karaktereket vagy a megengedett fmt
karaktereket tartalmazza, a függvény hibát ad vissza.
Érvénytelen expr
hiba helyett try_to_numberNULL
().
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 number
-- 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
Kapcsolódó függvények
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: