Saat menggunakan TO_CHAR()
berfungsi untuk memformat nilai datetime di Oracle Database, Anda dapat menambahkan indikator meridiem (AM/PM) hanya dengan menambahkan A.M.
atau PM
ke model format Anda.
Oracle kemudian menampilkan indikator meridiem yang sesuai, tergantung pada apakah nilai waktunya adalah AM atau PM.
Anda dapat memberikannya dalam huruf besar atau kecil, dan dengan atau tanpa titik (mis. A.M.
, A.M.
a.m
, a.m
, dll). Oracle kemudian akan menampilkan indikator meridiem seperti yang ditentukan.
Contoh
Berikut ini contoh untuk didemonstrasikan:
SELECT TO_CHAR(timestamp '2030-12-30 08:30:45', 'HH:MI:SS AM')
FROM DUAL;
Hasil:
08:30:45 AM
Dalam hal ini, waktunya adalah ante meridiem, sehingga hasilnya memiliki A.M.
ditambahkan.
AM vs PM
Hal yang baik tentang itu adalah bahwa Oracle bekerja apakah itu AM atau PM, dan menampilkan indikator meridiem yang berlaku.
Jadi, inilah yang terjadi ketika saya mengubah waktu ke nilai PM:
SELECT TO_CHAR(timestamp '2030-12-30 18:30:45', 'HH:MI:SS AM')
FROM DUAL;
Hasil:
06:30:45 PM
Indikator meridiem sekarang adalah PM, meskipun string format saya adalah A.M.
. Oracle cukup pintar untuk mengetahui bahwa waktunya adalah post meridiem.
Huruf Besar vs Huruf Kecil
Mengubah huruf besar/kecil dari elemen format mengubah huruf besar/kecil dari hasil:
SELECT
TO_CHAR(timestamp '2030-12-30 18:30:45', 'HH:MI:SS AM') AS "Uppercase",
TO_CHAR(timestamp '2030-12-30 18:30:45', 'HH:MI:SS am') AS "Lowercase",
TO_CHAR(timestamp '2030-12-30 18:30:45', 'HH:MI:SS Am') AS "Mixed"
FROM DUAL;
Hasil:
Uppercase Lowercase Mixed ______________ ______________ ______________ 06:30:45 PM 06:30:45 pm 06:30:45 Pm
Titik vs Tanpa Titik
Anda dapat menyertakan titik jika Anda mau:
SELECT
TO_CHAR(timestamp '2030-12-30 18:30:45', 'HH:MI:SS A.M.') AS "Uppercase",
TO_CHAR(timestamp '2030-12-30 18:30:45', 'HH:MI:SS a.m.') AS "Lowercase",
TO_CHAR(timestamp '2030-12-30 18:30:45', 'HH:MI:SS A.m.') AS "Mixed"
FROM DUAL;
Hasil:
Uppercase Lowercase Mixed ________________ ________________ ________________ 06:30:45 P.M. 06:30:45 p.m. 06:30:45 P.M.
Meskipun, perhatikan bahwa ini mempengaruhi indikator meridiem kasus campuran.
Tanggal &Waktu Hari Ini
Di sini, saya melewati SYSDATE
untuk mendapatkan tanggal/waktu saat ini:
SELECT
TO_CHAR(SYSDATE, 'HH:MI:SS A.M.')
FROM DUAL;
Hasil:
07:55:57 P.M.