Bekerja dengan TO_CHAR()
Sama ada anda ingin mendapatkan tarikh semasa dalam pertanyaan PostgreSQL anda atau menggunakan tarikh dalam jadual anda, memahami cara menukar tarikh kepada rentetan adalah penting. Mungkin anda mahukan format yang lebih cantik untuk tarikh sebagai output anda atau untuk mengekstrak bahagian tarikh selepas menukarnya kepada rentetan. Walau apa pun keadaannya, TO_CHAR() ialah fungsi yang ideal.
Selain itu, TO_CHAR() menawarkan banyak pilihan pemformatan yang boleh anda gunakan. Anda boleh menggabungkan pilihan yang berbeza untuk mendapatkan output yang diingini.
TO_CHAR() mengambil sintaks berikut:
TO_CHAR(ungkapan, format);
Ungkapan ialah cap masa yang anda ingin tukar menggunakan format yang ditentukan.
Berikut ialah format TO_CHAR() yang biasa digunakan:
1 tahun
YYYY – Ia menunjukkan tahun dalam 4 digit.
Y,YYY – Ia menggunakan koma untuk mewakili empat digit dalam tahun itu.
YYY – Ia hanya menunjukkan tiga digit terakhir dalam tahun yang ditentukan.
YY – Ia hanya menunjukkan dua digit terakhir dalam tahun yang ditentukan.
DAN - Ia hanya menunjukkan digit terakhir dalam tahun yang ditentukan.
2 bulan
BULAN – Ia menggunakan huruf besar untuk nama bulan.
bulan - Ia menggunakan huruf kecil untuk nama bulan.
SAYA - Ia menyingkatkan bulan dalam huruf besar.
saya - Ia menyingkat dan menggunakan huruf besar pada bulan tersebut.
MM – Ia hanya menunjukkan nombor bulan.
3. Hari
HARI – Nama hari huruf besar.
hari - Nama hari huruf kecil.
ANDA - Ia menyingkatkan nama hari dan menggunakan huruf besar.
Mereka - Ia menyingkat dan menggunakan huruf besar nama hari.
awak- Nama hari yang disingkat huruf kecil.
4. Masa
HH – Jam dalam sehari
HH12 – Format 12 jam
HH24 – Format 24 jam
SAYA - minit
SS – Detik
Format yang diberikan bukan satu-satunya format TO_CHAR() yang boleh anda gunakan, tetapi ia adalah format yang paling biasa digunakan. Kami akan memberikan contoh penggunaan mereka dalam siaran ini.
Contoh 1: Menukar Tarikh kepada Rentetan
Untuk contoh ini, kami menaip tarikh sasaran sebagai ungkapan kami dan menentukan format untuk menukarnya. Output berikut menunjukkan cara kami menukar '2023-11-29' kepada rentetan yang lebih mudah dibaca dan difahami:
Contoh 2: Bekerja dengan Tarikh Semasa
Dalam PostgreSQL, CURRENT_DATE memberi anda tarikh untuk hari tertentu.
Katakan kita mahu menukarnya kepada rentetan. Kami hanya perlu menggunakan CURRENT_DATE sebagai ungkapan kami dan kemudian tentukan format kami. Anda kini mendapat tarikh semasa anda sebagai rentetan.
Namun, anda boleh menukar format kepada yang lain untuk memenuhi matlamat anda. Sebagai contoh, jika kami hanya mahu menunjukkan tarikh, bulan dan tahun, kami menala arahan kami seperti berikut:
Keindahan TO_CHAR() ialah anda boleh menggabungkan format yang berbeza untuk mencipta format terakhir yang anda ingin gunakan untuk tarikh anda. Mari teruskan dan bekerja dengan cap masa.
Contoh 3: Bekerja dengan Cap Waktu
Setakat ini, kami hanya bekerja dengan kurma. Walau bagaimanapun, jika tarikh anda mengandungi masa, anda boleh mengekstrak masa dengan menentukan format idealnya.
Berikut ialah contoh yang kami tentukan untuk mendapatkan masa dalam format 24 jam daripada cap waktu yang disediakan, tanpa tarikh:
Untuk format masa 12 jam, kami menggunakan HH12 dan bukannya HH24. Perhatikan contoh berikut:
Akhir sekali, jika kita ingin mengekstrak tarikh dan masa daripada cap waktu yang disediakan, kita hanya perlu menambah format ideal yang ingin kita gunakan. Di sini, kami menentukan menggunakan HH12:MI:SS untuk masa dan menambah pemisah. Seterusnya, kami tentukan untuk menggunakan 'hb, Bulan, tttt,' untuk tarikh tersebut.
Output akhir kami adalah seperti berikut:
Contoh 4: Bekerja dengan Meja
Semua format yang kami bincangkan dan nyatakan boleh digunakan pada jadual PostgreSQL. Untuk contoh ini, kami mempunyai jadual bernama 'pesanan' yang mengandungi lajur 'tarikh'. Untuk memilih elemen daripadanya dan menggunakan TO_CHAR() untuk lajur 'tarikh', kami melaksanakan arahan kami seperti yang digambarkan dalam perkara berikut:
Anda boleh menggunakan mana-mana format yang anda mahu. Berikut adalah arahan yang sama tetapi dengan format tarikh yang berbeza:
Jika kita hanya mahu menunjukkan hari dalam minggu dan bulan dari lajur tarikh, berikut ialah cara kita menala arahan:
Jangan ragu untuk menentukan mana-mana format ideal yang ingin anda gunakan untuk kes anda.
Kesimpulan
TO_CHAR() ialah fungsi PostgreSQL berguna yang membolehkan pengguna menukar cap waktu dan literal lain kepada rentetan. Siaran ini menunjukkan cara yang berbeza di mana anda boleh menggunakan TO_CHAR() untuk tarikh. Kami menyediakan contoh yang berbeza untuk memastikan anda memahami kandungan dengan cepat. Mudah-mudahan, TO_CHAR() tidak akan menyusahkan anda lagi.