TO_CHAR - Amazon Redshift

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

TO_CHAR

TO_CHAR mengkonversi timestamp atau ekspresi numerik ke format data karakter-string.

Sintaks

TO_CHAR (timestamp_expression | numeric_expression , 'format')

Argumen

timestamp_expression

Ekspresi yang menghasilkan nilai tipe TIMESTAMP atau TIMESTAMPTZ 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 DESIMAL 128-bit.

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 hari ISO 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 nilai STARTTIME dalam tabel EVENT ke 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 perbedaan yang ditunjukkan pada 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 nilai STARTTIME dalam tabel EVENT ke 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