Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
UNTUK_ CHAR
TO_ CHAR mengubah stempel waktu atau ekspresi numerik ke format data karakter-string.
Sintaks
TO_CHAR (timestamp_expression | numeric_expression , 'format')
Argumen
- timestamp_expression
-
Ekspresi yang menghasilkan nilai TIMESTAMP atau TIMESTAMPTZ tipe atau nilai yang secara implisit dapat dipaksa ke stempel waktu.
- numeric_expression
-
Ekspresi yang menghasilkan nilai tipe data numerik atau nilai yang secara implisit dapat dipaksa ke tipe numerik. Untuk informasi selengkapnya, lihat Jenis numerik. TO_ CHAR menyisipkan spasi di sebelah kiri string angka.
catatan
TO_ CHAR tidak mendukung nilai 128-bitDECIMAL.
- format
-
Format untuk nilai baru. Untuk format yang valid, lihat String format datetime dan String format numerik.
Jenis pengembalian
VARCHAR
Contoh
Contoh berikut mengkonversi stempel waktu ke nilai dengan tanggal dan waktu dalam format dengan nama bulan empuk untuk sembilan karakter, nama hari dalam seminggu, dan nomor hari bulan.
select to_char(timestamp '2009-12-31 23:15:59', 'MONTH-DY-DD-YYYY HH12:MIPM');
to_char ------------------------- DECEMBER -THU-31-2009 11:15PM
Contoh berikut mengonversi stempel waktu menjadi nilai dengan nomor hari dalam setahun.
select to_char(timestamp '2009-12-31 23:15:59', 'DDD');
to_char ------------------------- 365
Contoh berikut mengonversi stempel waktu ke nomor ISO hari dalam seminggu.
select to_char(timestamp '2022-05-16 23:15:59', 'ID');
to_char ------------------------- 1
Contoh berikut mengekstrak nama bulan dari tanggal.
select to_char(date '2009-12-31', 'MONTH');
to_char ------------------------- DECEMBER
Contoh berikut mengkonversi setiap STARTTIME nilai dalam EVENT tabel untuk string yang terdiri dari jam, menit, dan detik.
select to_char(starttime, 'HH12:MI:SS') from event where eventid between 1 and 5 order by eventid;
to_char ---------- 02:30:00 08:00:00 02:30:00 02:30:00 07:00:00
Contoh berikut mengkonversi seluruh nilai timestamp ke dalam format yang berbeda.
select starttime, to_char(starttime, 'MON-DD-YYYY HH12:MIPM') from event where eventid=1;
starttime | to_char ---------------------+--------------------- 2008-01-25 14:30:00 | JAN-25-2008 02:30PM
Contoh berikut mengkonversi stempel waktu literal ke string karakter.
select to_char(timestamp '2009-12-31 23:15:59','HH24:MI:SS');
to_char ---------- 23:15:59
Contoh berikut mengkonversi angka desimal ke string karakter.
select to_char(125.8, '999.99');
to_char --------- 125.80
Contoh berikut mengkonversi angka desimal ke string karakter.
select to_char(125.8, '999D99');
to_char --------- 125.80
Contoh berikut mengkonversi angka ke string karakter dengan nol di depan.
select to_char(125.8, '0999D99');
to_char --------- 0125.80
Contoh berikut mengkonversi angka ke string karakter dengan tanda negatif di akhir.
select to_char(-125.8, '999D99S');
to_char --------- 125.80-
Contoh berikut mengkonversi angka ke string karakter dengan tanda positif atau negatif pada posisi yang ditentukan.
select to_char(125.8, '999D99SG');
to_char --------- 125.80+
Contoh berikut mengkonversi angka ke string karakter dengan tanda positif pada posisi yang ditentukan.
select to_char(125.8, 'PL999D99');
to_char --------- + 125.80
Contoh berikut mengkonversi angka ke string karakter dengan simbol mata uang.
select to_char(-125.88, '$S999D99');
to_char --------- $-125.88
Contoh berikut mengkonversi angka ke string karakter dengan simbol mata uang di posisi yang ditentukan.
select to_char(-125.88, 'S999D99L');
to_char --------- -125.88$
Contoh berikut mengkonversi angka ke string karakter menggunakan pemisah ribuan (koma).
select to_char(1125.8, '9,999.99');
to_char --------- 1,125.80
Contoh berikut mengkonversi angka ke string karakter menggunakan kurung sudut untuk angka negatif.
select to_char(-125.88, '$999D99PR');
to_char --------- $<125.88>
Contoh berikut mengkonversi angka ke string angka Romawi.
select to_char(125, 'RN');
to_char --------- CXXV
Contoh berikut mengonversi tanggal menjadi kode abad.
select to_char(date '2020-12-31', 'CC');
to_char --------- 21
Contoh berikut menampilkan hari dalam seminggu.
SELECT to_char(current_timestamp, 'FMDay, FMDD HH12:MI:SS');
to_char ----------------------- Wednesday, 31 09:34:26
Contoh berikut menampilkan akhiran nomor urut untuk angka.
SELECT to_char(482, '999th');
to_char ----------------------- 482nd
Contoh berikut mengurangi komisi dari harga yang dibayarkan dalam tabel penjualan. Perbedaannya kemudian dibulatkan dan diubah menjadi angka romawi, ditunjukkan pada kolom to_char:
select salesid, pricepaid, commission, (pricepaid - commission) as difference, to_char(pricepaid - commission, 'rn') from sales group by sales.pricepaid, sales.commission, salesid order by salesid limit 10;
salesid | pricepaid | commission | difference | to_char ---------+-----------+------------+------------+----------------- 1 | 728.00 | 109.20 | 618.80 | dcxix 2 | 76.00 | 11.40 | 64.60 | lxv 3 | 350.00 | 52.50 | 297.50 | ccxcviii 4 | 175.00 | 26.25 | 148.75 | cxlix 5 | 154.00 | 23.10 | 130.90 | cxxxi 6 | 394.00 | 59.10 | 334.90 | cccxxxv 7 | 788.00 | 118.20 | 669.80 | dclxx 8 | 197.00 | 29.55 | 167.45 | clxvii 9 | 591.00 | 88.65 | 502.35 | dii 10 | 65.00 | 9.75 | 55.25 | lv
Contoh berikut menambahkan simbol mata uang ke nilai selisih yang ditunjukkan di kolom to_char:
select salesid, pricepaid, commission, (pricepaid - commission) as difference, to_char(pricepaid - commission, 'l99999D99') from sales group by sales.pricepaid, sales.commission, salesid order by salesid limit 10;
salesid | pricepaid | commission | difference | to_char --------+-----------+------------+------------+------------ 1 | 728.00 | 109.20 | 618.80 | $ 618.80 2 | 76.00 | 11.40 | 64.60 | $ 64.60 3 | 350.00 | 52.50 | 297.50 | $ 297.50 4 | 175.00 | 26.25 | 148.75 | $ 148.75 5 | 154.00 | 23.10 | 130.90 | $ 130.90 6 | 394.00 | 59.10 | 334.90 | $ 334.90 7 | 788.00 | 118.20 | 669.80 | $ 669.80 8 | 197.00 | 29.55 | 167.45 | $ 167.45 9 | 591.00 | 88.65 | 502.35 | $ 502.35 10 | 65.00 | 9.75 | 55.25 | $ 55.25
Contoh berikut mencantumkan abad di mana setiap penjualan dilakukan.
select salesid, saletime, to_char(saletime, 'cc') from sales order by salesid limit 10;
salesid | saletime | to_char ---------+---------------------+--------- 1 | 2008-02-18 02:36:48 | 21 2 | 2008-06-06 05:00:16 | 21 3 | 2008-06-06 08:26:17 | 21 4 | 2008-06-09 08:38:52 | 21 5 | 2008-08-31 09:17:02 | 21 6 | 2008-07-16 11:59:24 | 21 7 | 2008-06-26 12:56:06 | 21 8 | 2008-07-10 02:12:36 | 21 9 | 2008-07-22 02:23:17 | 21 10 | 2008-08-06 02:51:55 | 21
Contoh berikut mengkonversi setiap STARTTIME nilai dalam EVENT tabel untuk string yang terdiri dari jam, menit, detik, dan zona waktu.
select to_char(starttime, 'HH12:MI:SS TZ') from event where eventid between 1 and 5 order by eventid;
to_char ---------- 02:30:00 UTC 08:00:00 UTC 02:30:00 UTC 02:30:00 UTC 07:00:00 UTC
Contoh berikut menunjukkan pemformatan untuk detik, milidetik, dan mikrodetik.
select sysdate, to_char(sysdate, 'HH24:MI:SS') as seconds, to_char(sysdate, 'HH24:MI:SS.MS') as milliseconds, to_char(sysdate, 'HH24:MI:SS:US') as microseconds;
timestamp | seconds | milliseconds | microseconds --------------------+----------+--------------+---------------- 2015-04-10 18:45:09 | 18:45:09 | 18:45:09.325 | 18:45:09:325143