MariaDB menyertakan banyak fungsi yang memungkinkan Anda mengembalikan nilai waktu dan waktu dalam berbagai format.
Dua fungsi memungkinkan Anda untuk memformat porsi waktu menggunakan jam 12 jam, dengan penanda AM/PM adalah DATE_FORMAT()
dan TIME_FORMAT()
.
Ada banyak penentu format yang dapat digunakan dengan fungsi ini, tetapi hanya beberapa yang mengembalikan penunjuk AM/PM.
%r
Penentu Format
%r
penentu format digunakan untuk memformat waktu dalam format 12 jam, diikuti oleh penunjuk AM/PM.
Contoh:
SELECT DATE_FORMAT('2030-03-10 18:10:37', '%r');
Hasil:
+------------------------------------------+| TANGGAL_FORMAT('2030-03-10 18:10:37', '%r') |+---------------------------- --------------+| 06:10:37 |+------------------------------------------ +
Waktu yang dihasilkan ditampilkan seolah-olah telah diformat menggunakan string format berikut:'%I:%i:%S %p'
.
Jelas, apakah itu mengembalikan AM
atau PM
tergantung pada waktu yang sebenarnya. Waktu sebelum 12:00:00
kembalikan AM
dan waktu setelah itu kembalikan PM
.
Inilah yang terjadi jika kita mengubah waktu yang akan datang sebelum 12:00:00
:
SELECT DATE_FORMAT('2030-03-10 06:10:37', '%r');
Hasil:
+------------------------------------------+| TANGGAL_FORMAT('2030-03-10 06:10:37', '%r') |+----------------------------- --------------+| 06:10:37 |+------------------------------------------ +
Keduanya DATE_FORMAT()
dan TIME_FORMAT()
terima %r
penentu format, sehingga kita dapat menggunakan penentu format yang sama dengan TIME_FORMAT()
fungsi:
SELECT TIME_FORMAT('06:10:37', '%r');
Hasil:
+-------------------------------+| TIME_FORMAT('06:10:37', '%r') |+-------------------------------+| 06:10:37 |+-------------------------------+
TIME_FORMAT()
menerima nilai waktu serta nilai waktu, sedangkan DATE_FORMAT()
hanya menerima nilai tanggal dan waktu. Namun, TIME_FORMAT()
hanya menerima penentu format untuk jam menit dan detik. Melihat sebagai %r
mengembalikan jam, menit, dan detik, ini juga diterima.
%p
Penentu Format
%p
penentu format adalah penentu format yang lebih spesifik yang digunakan semata-mata untuk mewakili penunjuk AM/PM. Biasanya digunakan bersama dengan penentu format lain untuk mengembalikan waktu dalam format khusus.
Seperti disebutkan, %r
penentu format memformat waktu seolah-olah telah diformat menggunakan string format berikut:'%I:%i:%S %p'
.
Mari kita gunakan string itu secara eksplisit:
SELECT TIME_FORMAT('18:10:37', '%I:%i:%S %p');
Hasil:
+---------------------------------------+| TIME_FORMAT('18:10:37', '%I:%i:%S %p') |+------------------------- ---------------+| 06:10:37 |+----------------------------------------+Jadi kita mendapatkan hasil yang sama seperti saat menggunakan
%r
penentu format.Namun, salah satu manfaat menggunakan metode ini adalah kita dapat membuat output dengan cara kustom kita sendiri.
Misalnya:
SELECT TIME_FORMAT('18:10:37', '%l:%i %p');
Hasil:
+-------------------------------------+| TIME_FORMAT('18:10:37', '%l:%i %p') |+---------------------------- ---------+| 18:10 |+------------------------------------------------+Di sini, kami menggunakan
%l
untuk mengembalikan bagian jam tanpa nol di depan. Kami juga menghilangkan bagian detik dari waktu.Lihat MariaDB Format Strings untuk daftar lengkap penentu format yang dapat digunakan dengan fungsi-fungsi ini.