to_varchar
fungsi
Berlaku untuk: Databricks SQL Databricks Runtime 11.3 LTS ke atas
expr
Mengembalikan cast ke STRING
menggunakan pemformatan fmt
.
Di Databricks Runtime 14.0 dan yang lebih lama to_varchar
mendukung expr
jenis numerik.
Dalam Databricks SQL dan Databricks Runtime 14.1 ke atas to_varchar
juga mendukung expr
jenis DATE
, TIMESTAMP
, dan BINARY
to_varchar
adalah sinonim untuk to_char.
Sintaks
to_varchar(expr, { numericFormat | datetimeFormat | stringFormat } )
numericFormat
{ ' [ S ] [ L | $ ]
[ 0 | 9 | G | , ] [...]
[ . | D ]
[ 0 | 9 ] [...]
[ L | $ ] [ PR | MI | S ] ' }
Argumen
expr
: Ekspresi jenis numerik, tanggalwaktu,STRING
, atauBINARY
.numericFormat
: HarfiahSTRING
, menentukan output yang diformat untukexpr
jenis numerik.datetimeFormat
: HarfiahSTRING
, menentukan output yang diformat untukexpr
jenis tanggalwaktu.stringFormat
: HarfiahSTRING
, menentukan output yang diformat untukexpr
jenisBINARY
.
Mengembalikan
Mewakili STRING
hasil operasi pemformatan.
datetmeFormat
dapat berisi pola yang ditentukan dalam pola Tanggalwaktu.
stringFormat
dapat berupa salah satu hal berikut (tidak peka huruf besar/kecil):
'base64'
String dasar 64.
'hex'
String dalam format heksadesimal.
'utf-8'
Biner input didekodekan ke string UTF-8.
numericFormat
dapat berisi elemen berikut (tidak peka huruf besar/kecil):
0
atau9
Menentukan digit yang diharapkan antara 0 dan 9. Urutan digit dengan nilai antara 0 dan 9 dalam string format cocok dengan urutan digit dalam nilai input. Ini menghasilkan string hasil dengan panjang yang sama dengan urutan yang sesuai dengan string format. String hasil diisi kiri dengan nol jika urutan 0/9 terdiri lebih banyak digit daripada bagian yang cocok dari nilai desimal, dimulai dengan 0, dan sebelum titik desimal. Jika tidak, itu diisi dengan spasi.
.
atauD
Menentukan posisi titik desimal (opsional, hanya diperbolehkan sekali).
,
atauG
Menentukan posisi pemisah pengelompokan (ribuan) (,). Harus ada 0 atau 9 di sebelah kiri dan kanan setiap pemisah pengelompokan.
$
Menentukan lokasi tanda mata uang $. Karakter ini hanya dapat ditentukan sekali.
S
atauMI
Menentukan posisi tanda '-' atau '+' (opsional, hanya diperbolehkan sekali di awal atau akhir string format). Perhatikan bahwa
S
mencetak+
nilai positif tetapiMI
mencetak spasi.PR
Hanya diizinkan di akhir string format; menentukan bahwa string hasil akan dibungkus oleh tanda kurung sudut jika nilai input negatif. ('<1>').
Jika numExpr
memerlukan lebih banyak digit daripada fmt
yang diizinkan, fungsi mengembalikan fmt
dengan 0
dan 9
diganti dengan #
(misalnya '$###.##'
).
Jika fmt
Databricks SQL salah format mengembalikan kesalahan.
Fungsi ini adalah alias untuk to_varchar.
Contoh
> 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.