Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk:
Databricks SQL
Databricks Runtime 11.3 LTS ke atas
Mengembalikan expr yang telah di-cast ke STRING menggunakan format fmt.
Di Databricks Runtime 14.0 dan versi yang lebih lama to_char mendukung jenis-jenis numerik expr.
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: LiteralSTRING, yang menentukan output yang diformat untukexprtipe numerik. -
datetimeFormat: LiteralSTRING, menentukan output yang diformat untukexprjenis tanggal waktu. -
stringFormat: LiteralSTRING, menentukan keluaran yang diformat untukexprdari jenisBINARY.
Pengembalian
STRING yang mewakili hasil dari 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):
0atau9Menentukan 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 dilengkapi angka nol di sebelah kiri jika urutan 0/9 memiliki lebih banyak digit daripada bagian yang cocok dari nilai desimal, dimulai dengan 0, dan terletak sebelum titik desimal. Jika tidak, diisi dengan spasi.
.atauDMenentukan posisi titik desimal (opsional, hanya diperbolehkan sekali).
,atauGMenentukan 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.
SatauMIMenentukan posisi tanda '-' atau '+' (opsional, hanya diperbolehkan sekali di awal atau akhir string format). Perhatikan bahwa
Smencetak+untuk nilai positif tetapiMImencetak spasi.PRHanya 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 salah bentuk Azure Databricks menimbulkan INVALID_FORMAT.
Fungsi ini adalah alias untuk to_varchar.
Kondisi kesalahan umum
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: INVALID_FORMAT