MariaDB
 sql >> Teknologi Basis Data >  >> RDS >> MariaDB

Bagaimana TIME_FORMAT() Bekerja di MariaDB

Di MariaDB, TIME_FORMAT() adalah fungsi tanggal dan waktu bawaan yang memformat nilai waktu sesuai dengan string format yang diberikan.

Ini bekerja mirip dengan DATE_FORMAT() fungsi, kecuali bahwa string format hanya dapat berisi penentu format untuk jam, menit, dan detik.

Ini membutuhkan dua argumen; waktu dan format string.

Sintaks

Sintaksnya seperti ini:

TIME_FORMAT(time,format) 

Dimana time adalah nilai waktu dan format adalah format string. Lihat String Format MariaDB untuk daftar penentu format yang dapat diterima. Seperti disebutkan, hanya penentu format untuk jam, menit, dan detik yang diterima. Semua nilai lainnya mengembalikan null .

Contoh

Ini contohnya:

SELECT TIME_FORMAT('10:30:45', '%H %i %S'); 

Hasil:

+-------------------------------------+| TIME_FORMAT('10:30:45', '%H %i %S') |+----------------------------- --------+| 10 30 45 |+------------------------------------------------+

Ini dia lagi, tapi kali ini kami menyediakan string format yang lebih rumit:

SELECT TIME_FORMAT(
    '10:30:45', 
    '%H hours, %i minutes, and %S seconds'
    )
AS Result; 

Hasil:

+--------------------------------------+| Hasil |+-------------------------------------------------+| 10 jam, 30 menit, dan 45 detik |+--------------------------------------+ 

Jam Lebih Besar

TIME nilai bisa dalam rentang '-838:59:59.999999' ke '838:59:59.999999' .

Oleh karena itu, porsi jam bisa jauh lebih tinggi dari 23 :

SELECT TIME_FORMAT(
    '810:30:45', 
    '%H hours, %i minutes, and %S seconds'
    )
AS Result; 

Hasil:

+---------------------------------------+| Hasil |+--------------------------------------------------+| 810 jam, 30 menit, dan 45 detik |+-------------------------------------------------- +

Nilai Waktu Negatif

Berikut ini contoh dengan nilai waktu negatif:

SELECT TIME_FORMAT(
    '-810:30:45', 
    '%H hours, %i minutes, and %S seconds'
    )
AS Result; 

Hasil:

+---------------------------------------+| Hasil |+--------------------------------------------------+| -810 jam, 30 menit, dan 45 detik |+---------------------------------- --+

Waktu Di Luar Jangkauan

Namun, memberikan nilai waktu di luar rentang akan mengembalikan batas atas rentang tersebut, bersama dengan peringatan:

SELECT TIME_FORMAT(
    '910:30:45', 
    '%H hours, %i minutes, and %S seconds'
    )
AS Result; 

Hasil:

+---------------------------------------+| Hasil |+--------------------------------------------------+| 838 jam, 59 menit, dan 59 detik |+-------------------------------------------------- +1 baris di set, 1 peringatan (0,003 detik)

Mari kita periksa peringatannya:

SHOW WARNINGS; 

Hasil:

+---------+------+----------------------------- ----------------+| tingkat | Kode | Pesan |+---------+-------+--------------------------------------- ---------------+| Peringatan | 1292 | Nilai waktu salah terpotong:'910:30:45' |+---------+------+------------------- --------------------------+

Argumen Tidak Valid

Saat melewati argumen yang tidak valid, TIME_FORMAT() mengembalikan null dengan peringatan:

SELECT TIME_FORMAT('Homer', 'Simpson'); 

Hasil:

+----------------------------------+| TIME_FORMAT('Homer', 'Simpson') |+---------------------------------+| NULL |+---------------------------------+1 baris di set, 1 peringatan (0,009 detik) 

Periksa peringatannya:

SHOW WARNINGS; 

Hasil:

+---------+------+----------------------------- --+| tingkat | Kode | Pesan |+---------+-------+--------------------------------------- -+| Peringatan | 1292 | Nilai waktu salah:'Homer' |+---------+------+------------------------ -------+

Format String Tidak Valid

String format hanya boleh berisi penentu format untuk jam, menit, dan detik. Penentu format lainnya menghasilkan null dikembalikan:

SELECT TIME_FORMAT('10:30:45', '%M %W'); 

Hasil:

+----------------------------------+| TIME_FORMAT('10:30:45', '%M %W') |+------------------------------- ---+| NULL |+-----------------------------------+

Argumen Tidak Ada

Memanggil TIME_FORMAT() dengan jumlah argumen yang salah, atau tanpa memberikan argumen apa pun, menghasilkan kesalahan:

SELECT TIME_FORMAT(); 

Hasil:

ERROR 1582 (42000):Jumlah parameter salah dalam panggilan ke fungsi asli 'TIME_FORMAT'

Dan contoh lain:

SELECT TIME_FORMAT('10:09:10'); 

Hasil:

ERROR 1582 (42000):Jumlah parameter salah dalam panggilan ke fungsi asli 'TIME_FORMAT'

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 4 Fungsi yang Mengembalikan Bagian Detik dari Nilai Waktu di MariaDB

  2. 7 Opsi untuk Mengaktifkan Pipa (||) sebagai Operator Penggabungan di MariaDB

  3. Bagaimana RAND() Bekerja di MariaDB

  4. Memahami Indeks di MySQL:Bagian Satu

  5. Cara Menghentikan atau Memperlambat Operasi SST pada Cluster Galera