Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
funktion
Gäller för:
Databricks SQL
Databricks Runtime 11.3 LTS och senare
Returnerar expr omvandlad till STRING med formatering fmt.
I Databricks Runtime 14.0 och tidigare stöds to_varchar av numeriska typer.
I Databricks SQL och Databricks Runtime 14.1 och senare to_varchar stödjer även expr för typer DATE, TIMESTAMP, och BINARY
to_varchar är en synonym för to_char.
Syntax
to_varchar(expr, { numericFormat | datetimeFormat | stringFormat } )
numericFormat
{ ' [ S ] [ L | $ ]
[ 0 | 9 | G | , ] [...]
[ . | D ]
[ 0 | 9 ] [...]
[ L | $ ] [ PR | MI | S ] ' }
Argument
-
expr: Ett uttryck av typen numeriskt, datetime,STRINGellerBINARY. -
numericFormat: EnSTRINGliteral som anger formaterade utdata förexprav typen numerisk. -
datetimeFormat: EttSTRINGliteralvärde som anger det formaterade resultatet förexprav typen datetime. -
stringFormat: EnSTRINGliteral som anger formaterade utdata förexprav typenBINARY.
Returer
En STRING som representerar resultatet av formateringsåtgärden.
datetmeFormat kan innehålla de mönster som anges i Datetime-mönster.
stringFormat kan vara något av följande (skiftlägesokänsligt):
"base64"
En sträng i base 64.
"hex"
En sträng i hexadecimalt format.
"utf-8"
Indatabinärfilen avkodas till UTF-8-strängen.
numericFormat kan innehålla följande element (skiftlägesokänsligt):
0eller9Anger en förväntad siffra mellan 0 och 9. En sekvens med siffror med värden mellan 0 och 9 i formatsträngen matchar en sekvens med siffror i indatavärdet. Detta genererar en resultatsträng med samma längd som motsvarande sekvens som formatsträngen. Resultatsträngen är vänster vadderad med nollor om 0/9-sekvensen innehåller fler siffror än den matchande delen av decimalvärdet, börjar med 0 och är före decimaltecknet. Annars är den vadderad med blanksteg.
.ellerDAnger decimaltecknets position (valfritt, tillåts bara en gång).
,ellerGAnger positionen för grupperingsavgränsaren (tusentals) (,). Det måste finnas 0 eller 9 till vänster och höger om varje grupperingsavgränsare.
$Anger platsen för valutatecknet $ . Det här tecknet kan bara anges en gång.
SellerMIAnger positionen för ett "-" eller "+"-tecken (valfritt, tillåts bara en gång i början eller slutet av formatsträngen). Observera att
Sskriver ut+för positiva värden menMIskriver ut ett blanksteg.PRTillåts endast i slutet av formatsträngen. anger att resultatsträngen kommer att omslutas av vinkelparenteser om indatavärdet är negativt. ('<1>')
Om numExpr kräver fler siffror än fmt, returnerar funktionen fmt där 0 och 9 ersätts med # (t.ex. '$###.##').
Om fmt är felaktigt, returnerar Databricks SQL ett fel.
Den här funktionen är ett alias för to_varchar.
Exempel
> 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.