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.
Funktionen
Gäller för:
Databricks SQL
Databricks Runtime 11.3 LTS och senare
Returnerar expr cast till STRING med formatering fmt.
I Databricks Runtime 14.0 och tidigare stöder to_charexpr av numeriska typer.
I Databricks SQL och Databricks Runtime 14.1 och senare to_char har även stöd expr för typer DATE, TIMESTAMP och BINARY
to_char är en synonym för to_varchar.
Syntax
to_char(expr, { numericFormat | datetimeFormat | stringFormat } )
numericFormat
{ ' [ S ] [ L | $ ]
[ 0 | 9 | G | , ] [...]
[ . | D ]
[ 0 | 9 ] [...]
[ L | $ ] [ PR | MI | S ] ' }
Argumenten
-
expr: Ett uttryck av typen numeriskt, datetime,STRINGellerBINARY. -
numericFormat: EnSTRINGliteral som anger formaterade utdata förexprav typen numerisk. -
datetimeFormat: EnSTRINGliteral som anger formaterade utdata 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 base 64-sträng.
"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 fylld med mellanslag.
.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+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 antingen integralen eller decimaldelen i numExpr kräver fler siffror än motsvarande del som tillåts i fmtreturnerar funktionen båda delarna i fmt med 0 och 9 ersätts av # (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_char(454, '999');
454
> SELECT to_char(454, '000.00');
454.00
> SELECT to_char(12454, '99,999');
12,454
> SELECT to_char(78.12, '$99.99');
$78.12
> SELECT to_char(-12454.8, '99,999.9S');
12,454.8-
> SELECT to_char(12454.8, '99,999.9S');
12,454.8+
> SELECT '>' || to_char(123, '00000.00') || '<';
>00123.00<
> SELECT '>' || to_char(123, '99999.99') || '<';
> 123.00<
> SELECT to_char(1.1, '99');
##
> SELECT to_char(111.11, '99.9');
##.#
> SELECT to_char(111.11, '$99.9');
$##.#
> SELECT to_char(date'2016-04-08', 'y');
2016
> SELECT to_char(x'537061726b2053514c', 'base64');
U3BhcmsgU1FM
> SELECT to_char(x'537061726b2053514c', 'hex');
537061726B2053514C
> SELECT to_char(encode('abc', 'utf-8'), 'utf-8');
abc
> SELECT to_char(111, 'wrong');
Error: 'wrong' is a malformed format.