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
visszaadása a TIZEDES típusra konvertálva a fmt
formázás használatával, vagy NULL
, ha expr
nem egyezik a formátummal.
Szintaxis
try_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
tartalmazhat kezdő vagy záró szóközt. -
fmt
: Egy KARAKTERLÁNC-literál, amely megadja a(z)expr
várt formátumát.
Visszatérések
Egy DECIMAL(p, s) kifejezésben, ahol p
a számjegyek összesített száma (0
vagy 9
), és s
a tizedespont utáni számjegyek száma, vagy 0, ha nincsenek számjegyek a tizedespont után.
fmt
a következő elemeket tartalmazhatja (nem érzékeny a kis- és nagybetűkre):
0
vagy9
Adja meg a várt számjegyet
0
és9
között. 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 amennyit a tizedesvessző bal oldalán lévő számjegyek száma megenged.A tizedesvessző jobb oldalán lévő számjegyek azt jelzik, hogy
expr
maximuma hány számjegy lehet a megadottfmt
tizedesvesszőtől jobbra..
vagyD
A tizedespont pozícióját adja meg.
expr
nem kell tizedesvesszőt tartalmaznia.,
vagyG
Meghatározza a
,
csoportosítási (ezres) elválasztó pozícióját. Az egyes csoportosítási elválasztóknak balra0
és jobbra9
kell lenniük.expr
meg kell egyeznie a szám méretéhez kapcsolódó csoportosítási elválasztóval.L
vagy$
Meghatározza a pénznemjel helyét
$
. Ez a karakter csak egyszer adható meg.S
vagyMI
Megadja a "+" vagy "-" jel lehetőségét
S
, és csak a "-" jel helyétMI
esetén. Ez az irányelv csak egyszer adható meg.PR
Azt adja meg, hogy
expr
negatív számot jelez szögletes zárójelekbe zárva (<1>
).
Ha a(z) expr
bármilyen más karaktert tartalmaz 0
és 9
között, vagy nem megengedett a fmt
-ban, akkor NULL
tér vissza.
Szigorú szemantikai használatra to_number().
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 try_to_number('-$12,345.67', 'S$999,099.99');
-12345.67
-- Plus is optional, and so are fractional digits.
> SELECT try_to_number('$345', 'S$999,099.99');
1.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 try_to_number('$045', 'S$999,099.99');
1.00
-- Using brackets to denote negative values
> SELECT try_to_number('<1234>', '999999PR');
-1234