PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Bagaimana to_char() Bekerja di PostgreSQL

Di Postgres, to_char() adalah fungsi pemformatan tipe data yang mengubah argumen pertamanya menjadi string.

Format string ditentukan oleh argumen kedua.

to_char() fungsi dapat digunakan untuk melakukan konversi berikut:

  • cap waktu ke string
  • interval ke string
  • bilangan bulat ke string
  • presisi nyata/ganda untuk string
  • numerik ke string

Sintaks

Sintaksnya seperti ini:

to_char(timestamp, text)
to_char(interval, text)
to_char(int, text)
to_char(double precision, text)
to_char(numeric, text)

Di mana argumen pertama adalah nilai yang akan dikonversi (dalam salah satu tipe data yang terdaftar) dan text adalah string format yang digunakan untuk memformat argumen pertama.

Contoh

Berikut ini contoh pemformatan nilai tanggal:

SELECT to_char(date '2020-12-25', 'Day, DDth Month YYYY');

Hasil:

Friday , 25 December 2020

Dalam hal ini, format string Day, DD Month YYYY menentukan bagaimana tanggal diformat ketika dikembalikan sebagai string oleh to_char() .

Pola Template

String format terdiri dari satu atau lebih pola template .

Pada contoh sebelumnya, format string saya adalah Day, DD Month YYYY . Oleh karena itu, ini terdiri dari pola template berikut:

  • Day
  • DD
  • Month
  • YYYY

Saya bisa saja menggunakan lebih banyak atau lebih sedikit pola templat, dan hasilnya akan berbeda.

Misalnya, saya bisa melakukan hal berikut:

SELECT to_char(date '2020-12-25', 'Day');

Hasil:

Friday

Atau, string format saya bisa saja terdiri dari serangkaian pola template yang berbeda.

Misalnya:

SELECT to_char(date '2020-12-25', 'Dy, DD Mon YY');

Hasil:

Fri, 25 Dec 20

Pengubah Pola Template

Anda juga dapat menambahkan pengubah pola template ke string format Anda.

Hasilnya akan sedikit berbeda tergantung modifier yang digunakan.

Misalnya, contoh berikut menyajikan hari dalam sebulan sebagai nomor urut.

SELECT to_char(date '2020-12-25', 'Day, DDth Month YYYY');

Hasil:

Friday , 25 December 2020

Ini sama dengan contoh pertama tetapi perbedaannya adalah saya menambahkan th pengubah template sebagai sufiks ke DD pola pola. Ini menambahkan akhiran nomor urut ke hari dalam sebulan.

Oleh karena itu kami berakhir dengan 25 bukan hanya 25 .

Untuk menekankan efek pengubah template, berikut tampilannya saat diterapkan ke nilai yang berbeda.

SELECT 
  to_char(date '2020-12-01', 'DDth') AS "1",
  to_char(date '2020-12-02', 'DDth') AS "2",
  to_char(date '2020-12-03', 'DDth') AS "3",
  to_char(date '2020-12-04', 'DDth') AS "4";

Hasil:

  1   |  2   |  3   |  4   
------+------+------+------
 01st | 02nd | 03rd | 04th

Saya dapat menambahkan pengubah lain untuk menekan angka nol di depan jika diperlukan.

SELECT 
  to_char(date '2020-12-01', 'FMDDth') AS "1",
  to_char(date '2020-12-02', 'FMDDth') AS "2",
  to_char(date '2020-12-03', 'FMDDth') AS "3",
  to_char(date '2020-12-04', 'FMDDth') AS "4";

Hasil:

  1  |  2  |  3  |  4  
-----+-----+-----+-----
 1st | 2nd | 3rd | 4th

Dalam hal ini saya menambahkan FM yang untuk "mode pengisian". Pengubah ini menekan nol di depan dan mengisi kosong.

Numerik

Contoh sebelumnya juga dapat diterapkan pada nilai numerik.

Namun, saat menggunakan nilai numerik, Anda harus menukar D dengan salah satu 9 atau 0 .

SELECT 
  to_char(1, '9th') AS "1",
  to_char(2, '9th') AS "2",
  to_char(3, '9th') AS "3",
  to_char(4, '9th') AS "4";

Hasil:

  1   |  2   |  3   |  4   
------+------+------+------
  1st |  2nd |  3rd |  4th

Daftar Pola dan Pengubah Template

Pola template aktual yang dapat Anda gunakan bergantung pada apakah Anda memformat nilai tanggal/waktu atau angka.

Untuk daftar lengkap pola template yang tersedia, lihat:

  • Pola &Pengubah Template untuk Pemformatan Tanggal/Waktu
  • Pola &Pengubah Template untuk Pemformatan Numerik


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. tugas cron untuk menghapus data lama dari postgres di debian

  2. Instal PostgreSQL di Ubuntu 20.04

  3. Cara Menyebarkan PostgreSQL ke Wadah Docker Menggunakan ClusterControl

  4. SELECT memunculkan pengecualian dalam fungsi PL/pgSQL

  5. Mendapatkan hasil antara dua tanggal di PostgreSQL