A to_varchar
függvény
A következőkre vonatkozik: Databricks SQL Databricks Runtime 11.3 LTS és újabb
expr
A formázást fmt
használó öntött STRING
értéket adja vissza.
A Databricks Runtime 14.0-s és korábbi to_varchar
verzióiban a numerikus típusok támogatottak expr
.
A Databricks SQL-ben és a Databricks Runtime 14.1-ben és újabb to_varchar
verzióiban is támogatottak expr
a típusok DATE
, TIMESTAMP
és BINARY
to_varchar
a to_char szinonimája.
Syntax
to_varchar(expr, { numericFormat | datetimeFormat | stringFormat } )
numericFormat
{ ' [ S ] [ L | $ ]
[ 0 | 9 | G | , ] [...]
[ . | D ]
[ 0 | 9 ] [...]
[ L | $ ] [ PR | MI | S ] ' }
Argumentumok
expr
: Numerikus, datetimeSTRING
vagyBINARY
.numericFormat
: EgySTRING
literál, amely megadja a numerikus típus formázott kimenetétexpr
.datetimeFormat
: EgySTRING
konstans, amely megadja a dátum/idő típusú formázott kimenetetexpr
.stringFormat
: EgySTRING
literál, amely a típusBINARY
formázott kimenetétexpr
adja meg.
Válaszok
A STRING
formázási művelet eredményét jelképező érték.
datetmeFormat
a Datetime-mintákban megadott mintákat tartalmazhat.
stringFormat
a következők egyike lehet (a kis- és nagybetűk nem érzékenek):
"base64"
Egy 64-es alapsztring.
"hexa"
Hexadecimális formátumú sztring.
"utf-8"
A bemeneti bináris kód UTF-8 sztringre van dekódolva.
numericFormat
a következő elemeket tartalmazhatja (a kis- és nagybetűk nem érzékenek):
0
vagy9
0 és 9 közötti várható számjegyet ad meg. A formátumsztringben 0 és 9 közötti értékeket tartalmazó számjegyek sorozata megegyezik a bemeneti érték számjegyeinek sorozatával. Ez a formátumsztringgel megegyező hosszúságú eredménysztringet hoz létre. Ha a 0/9 sorozat több számjegyből áll, mint a decimális érték egyező része, 0-val kezdődik, és a tizedesvessző előtt van. Ellenkező esetben szóközökkel van párnázva.
.
vagyD
A tizedesvessző pozícióját adja meg (nem kötelező, csak egyszer engedélyezett).
,
vagyG
A csoportosítási (ezres) elválasztó (,) pozícióját adja meg. Az egyes csoportosítási elválasztóktól balra és jobbra 0 vagy 9 karakternek kell lennie.
$
A $ pénznemjel helyét adja meg. Ez a karakter csak egyszer adható meg.
S
vagyMI
Egy "-" vagy "+" jel pozícióját adja meg (nem kötelező, csak egyszer engedélyezett a formátumsztring elején vagy végén). Vegye figyelembe, hogy
S
pozitív értékeket nyomtat+
, deMI
szóközt nyomtat.PR
Csak a formátumsztring végén engedélyezett; azt adja meg, hogy az eredménysztring szögletes zárójelekkel lesz burkolva, ha a bemeneti érték negatív. ('<1>').
Ha numExpr
a megengedettnél fmt
több számjegyre van szükség, a függvény a következővel adja vissza a fmt
függvényt 0
, és 9
lecseréli #
(például '$###.##'
).
Ha fmt
hibás a Databricks SQL, hibát ad vissza.
Ez a függvény a to_varchar aliasa.
Példák
> 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.