Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:
Databricks SQL
Databricks Runtime 11.3 LTS en hoger
expr Hiermee wordt cast naar DECIMAL geretourneerd met behulp van opmaak fmtof NULL als expr deze niet overeenkomt met de notatie.
Syntaxis
try_to_number(expr, fmt)
fmt
{ ' [ MI | S ] [ L | $ ]
[ 0 | 9 | G | , ] [...]
[ . | D ]
[ 0 | 9 ] [...]
[ L | $ ] [ PR | MI | S ] ' }
Argumenten
-
expr: een TEKENREEKS-expressie die een getal vertegenwoordigt.exprkan voorloop- of volgspaties bevatten. -
fmt: Een letterlijke tekenreeks, waarbij de verwachte notatie vanexpr.
Retouren
Een DECIMAL(p, s) waarbij p het totale aantal cijfers (0 of 9) is en s het aantal cijfers na het decimaalteken of 0 is als er geen cijfers achter het decimaalteken zijn.
fmt kan de volgende elementen bevatten (niet hoofdlettergevoelig):
0of9Hiermee geeft u een verwacht cijfer tussen
0en9. Een0links van de decimalen geeft aan datexprer ten minste zoveel cijfers moeten zijn. Voorloop9geeft aan datexprdeze cijfers kunnen worden weggelaten.exprmag niet groter zijn dan het aantal cijfers links van het decimaalteken is toegestaan.Cijfers rechts van het decimaalteken geven het maximum aantal cijfers
expraan aan de rechterkant van het decimaalteken dat is opgegeven doorfmt..ofDHiermee geeft u de positie van het decimaalteken.
exprhoeft geen decimaalteken op te nemen.,ofGHiermee geeft u de positie van het
,groeperingsscheidingsteken (duizendtallen). Er moet een0of9rechts van elk groeperingsscheidingsteken zijn.exprmoet overeenkomen met het groeperingsscheidingsteken dat relevant is voor de grootte van het getal.Lof$Hiermee geeft u de locatie van het
$valutateken. Dit teken mag slechts eenmaal worden opgegeven.SofMIHiermee geeft u de positie van een optioneel '+' of '-' teken voor
S, en '-' alleen voorMI. Deze richtlijn mag slechts één keer worden opgegeven.PRexprHiermee geeft u een negatief getal aan met haakjes in de terugloop (<1>).
Als expr er andere tekens zijn dan 0 via 9, of tekens die zijn toegestaan in fmt, wordt een NULL geretourneerd.
Voor strikt semantisch gebruik to_number().
Voorbeelden
-- 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');
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 try_to_number('$045', 'S$999,099.99');
45.00
-- Using brackets to denote negative values
> SELECT try_to_number('<1234>', '999999PR');
-1234