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 wordt gecast naar STRING met behulp van opmaak fmt.
In Databricks Runtime 14.0 en eerder ondersteunt to_varcharexpr van numerieke typen.
In Databricks SQL en Databricks Runtime 14.1 en hoger to_varchar wordt ook ondersteuning geboden expr voor typen DATE, TIMESTAMP, en BINARY
to_varchar is een synoniem voor to_char.
Syntaxis
to_varchar(expr, { numericFormat | datetimeFormat | stringFormat } )
numericFormat
{ ' [ S ] [ L | $ ]
[ 0 | 9 | G | , ] [...]
[ . | D ]
[ 0 | 9 ] [...]
[ L | $ ] [ PR | MI | S ] ' }
Argumenten
-
expr: een expressie van het type numeriek, datum/tijd ofSTRINGBINARY. -
numericFormat: EenSTRINGletterlijke waarde, die de opgemaakte uitvoer voorexprvan het type numeriek specificeert. -
datetimeFormat: EenSTRINGconstante, die de opgemaakte uitvoer specificeert voorexprvan het type datum/tijd. -
stringFormat: EenSTRINGletterlijke waarde, die de opgemaakte uitvoer specificeert voorexprvan het typeBINARY.
Retouren
Een STRING weergave van het resultaat van de opmaakbewerking.
datetmeFormat kan de patronen bevatten die zijn opgegeven in Datum/tijd-patronen.
stringFormat kan een van de volgende zijn (niet hoofdlettergevoelig):
'base64'
Een Base64-tekenreeks.
'hex'
Een tekenreeks in de hexadecimale notatie.
'utf-8'
Het binaire invoerbestand wordt gedecodeerd naar de UTF-8-tekenreeks.
numericFormat kan de volgende elementen bevatten (niet hoofdlettergevoelig):
0of9Specificeert een verwacht cijfer tussen 0 en 9. Een reeks cijfers met waarden tussen 0 en 9 in de notatietekenreeks komt overeen met een reeks cijfers in de invoerwaarde. Hiermee wordt een resultaattekenreeks gegenereerd van dezelfde lengte als de bijbehorende reeks als de notatietekenreeks. De resultaattekenreeks wordt links opgevuld met nullen als de reeks 0/9 meer cijfers bevat dan het overeenkomende deel van de decimale waarde, begint met 0 en valt vóór het decimaalteken. Anders wordt het opgevuld met spaties.
.ofDHiermee geeft u de positie van het decimaalteken (optioneel, slechts eenmaal toegestaan).
,ofGHiermee geeft u de positie van het groeperingsscheidingsteken (duizendtallen) (,). Er moet een 0 of 9 aan de linkerkant en rechts van elk groeperingsscheidingsteken zijn.
$Hiermee geeft u de locatie van het $ valutateken. Dit teken mag slechts eenmaal worden opgegeven.
SofMIHiermee geeft u de positie van een '-' of '+'-teken (optioneel, slechts één keer toegestaan aan het begin of einde van de notatietekenreeks). Houd er rekening mee dat
S+afdrukt voor positieve waarden, maarMIeen spatie afdrukt.PRAlleen toegestaan aan het einde van de notatietekenreeks; geeft aan dat de resultaatstring tussen punthaken wordt geplaatst als de invoerwaarde negatief is. ('<1>')
Als numExpr meer cijfers vereist dan fmt toelaat, retourneert de functie de fmt met 0 en 9 vervangen door # (bijvoorbeeld '$###.##').
Als fmt een onjuiste indeling heeft, retourneert Databricks SQL een fout.
Deze functie is een alias voor to_varchar.
Voorbeelden
> SELECT to_varchar(454, '999');
454
> SELECT to_varchar(454, '000.00');
454.00
> SELECT to_varchar(12454, '99,999');
12,454
> SELECT to_varchar(78.12, '$99.99');
$78.12
> SELECT to_varchar(-12454.8, '99,999.9S');
12,454.8-
> SELECT to_varchar(12454.8, '99,999.9S');
12,454.8+
> SELECT '>' || to_varchar(123, '00000.00') || '<';
>00123.00<
> SELECT '>' || to_varchar(123, '99999.99') || '<';
> 123.00<
> SELECT to_varchar(1.1, '99');
##
> SELECT to_varchar(111.11, '99.9');
##.#
> SELECT to_varchar(111.11, '$99.9');
$##.#
> SELECT to_varchar(date'2016-04-08', 'y');
2016
> SELECT to_varchar(x'537061726b2053514c', 'base64');
U3BhcmsgU1FM
> SELECT to_varchar(x'537061726b2053514c', 'hex');
537061726B2053514C
> SELECT to_varchar(encode('abc', 'utf-8'), 'utf-8');
abc
> SELECT to_varchar(111, 'wrong');
Error: 'wrong' is a malformed format.