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.