Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Funkce
Platí pro:
Databricks SQL
Databricks Runtime 11.3 LTS a vyšší
Vrátí expr přetypovaný na STRING s použitím formátování fmt.
Databricks Runtime 14.0 a starší to_char podporují expr číselné typy.
V Databricks SQL a Databricks Runtime 14.1 a vyšší to_char podporuje expr také typy DATE, TIMESTAMPa BINARY
to_char je synonymem pro to_varchar.
Syntaxe
to_char(expr, { numericFormat | datetimeFormat | stringFormat } )
numericFormat
{ ' [ S ] [ L | $ ]
[ 0 | 9 | G | , ] [...]
[ . | D ]
[ 0 | 9 ] [...]
[ L | $ ] [ PR | MI | S ] ' }
Argumenty
-
expr: Výraz číselného typu, datetime,STRINGneboBINARY. -
numericFormat:STRINGliteral, specifikující formátovaný výstup pro číselný typexpr. -
datetimeFormat: LiterálSTRINGurčuje formátovaný výstup proexprtypu datetime. -
stringFormat:STRINGliterál, specifikující formátovaný výstup proexprtypuBINARY.
Návraty
Výsledek operace formátování reprezentovaný STRING.
datetmeFormat může obsahovat vzory zadané v vzorech datumových a časových.
stringFormat může být jedna z následujících (nerozlišující malá a velká písmena):
"base64"
Řetězec Base64.
Hex
Řetězec v šestnáctkovém formátu.
'utf-8'
Vstupní binární soubor je dekódován na řetězec UTF-8.
numericFormat může obsahovat následující prvky (nerozlišují malá a velká písmena):
0nebo9Určuje očekávanou číslici mezi 0 a 9. Posloupnost číslic s hodnotami od 0 do 9 ve formátovacím řetězci odpovídá sekvenci číslic ve vstupní hodnotě. Tím se vygeneruje výsledný řetězec se stejnou délkou jako odpovídající sekvence jako formátovací řetězec. Výsledný řetězec je vlevo vycpaný nulami, pokud sekvence 0/9 obsahuje více číslic než odpovídající část desetinné čárky, začíná číslem 0 a je před desetinnou čárkou. V opačném případě je vyplněna mezerami.
.neboDUrčuje pozici desetinné čárky (volitelné, povoleno pouze jednou).
,neboGUrčuje pozici oddělovače seskupení (tisíce). Musí existovat 0 nebo 9 vlevo a vpravo od každého oddělovače seskupení.
$Určuje umístění znaménka měny $. Tento znak lze zadat pouze jednou.
SneboMIUrčuje pozici znaménka -nebo +(volitelné, povoleno pouze jednou na začátku nebo na konci řetězce formátu). Všimněte si, že
Svytiskne+pro kladné hodnoty, aleMIvytiskne mezeru.PRTo je povoleno pouze na konci formátovacího řetězce; pokud je vstupní hodnota záporná, výsledný řetězec bude obalen úhlovými závorkami. ('<1>').
Pokud celá nebo desetinná část v numExpr vyžaduje více číslic, než je povoleno v odpovídající části fmt, funkce vrátí obě části v fmt s 0 a 9 nahrazenými # (např. '$###.##').
Pokud fmt je poškozený Databricks SQL, vrátí chybu.
Tato funkce je aliasem pro to_varchar.
Příklady
> 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.