to_char
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_char
mendukung expr
jenis numerik.
Dalam Databricks SQL dan Databricks Runtime 14.1 ke atas to_char
juga mendukung expr
jenis DATE
, TIMESTAMP
, dan BINARY
to_char
adalah sinonim untuk to_varchar.
Sintaks
to_char(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 bagian integral atau desimal dalam numExpr
memerlukan lebih banyak digit daripada bagian terkait yang diizinkan dalam fmt
, fungsi mengembalikan kedua bagian dalam fmt
dengan 0
dan 9
digantikan oleh #
(misalnya '$###.##'
).
Jika fmt
Databricks SQL salah format mengembalikan kesalahan.
Fungsi ini adalah alias untuk to_varchar.
Contoh
> 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.