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

Bagaimana MAKETIME() Bekerja di MariaDB

Di MariaDB, MAKETIME() adalah fungsi tanggal dan waktu bawaan yang mengembalikan nilai waktu, berdasarkan jam, menit, dan detik yang diberikan sebagai argumen.

Sintaks

Sintaksnya seperti ini:

MAKETIME(hour,minute,second)

Contoh

Ini contohnya:

SELECT MAKETIME(08, 30, 45);

Hasil:

+----------------------+
| MAKETIME(08, 30, 45) |
+----------------------+
| 08:30:45             |
+----------------------+

Dan satu lagi:

SELECT MAKETIME(23, 8, 1);

Hasil:

+--------------------+
| MAKETIME(23, 8, 1) |
+--------------------+
| 23:08:01           |
+--------------------+

Rentang

Jika hour argumen berada di luar rentang -838 ke 838 , nilainya dipotong dengan peringatan.

Jika minute atau second argumen berada di luar rentang 0 ke 59 , hasilnya null , dan peringatan ditampilkan (dokumentasi MariaDB menyatakan bahwa rentangnya adalah 0 ke 60 , tapi ini tidak terjadi dalam pengujian saya. Selanjutnya, dokumentasi MariaDB juga menyatakan bahwa rentang nilai waktu MariaDB adalah '-838:59:59.999999' ke '838:59:59.999999' ).

Bagaimanapun, inilah contoh waktu dengan nilai yang berada di ujung atas rentang yang diterima:

SELECT MAKETIME(838, 59, 59.999999);

Hasil:

+------------------------------+
| MAKETIME(838, 59, 59.999999) |
+------------------------------+
| 838:59:59.999999             |
+------------------------------+

Nilai-nilai ini masih dalam kisaran yang diterima, jadi kami mendapatkan nilai waktu yang valid.

Menit &Detik Tidak Valid

Inilah yang terjadi ketika kita melewati rentang yang diterima untuk minute dan second argumen:

SELECT 
    MAKETIME(00, 60, 00),
    MAKETIME(00, 00, 60);

Hasil:

+----------------------+----------------------+
| MAKETIME(00, 60, 00) | MAKETIME(00, 00, 60) |
+----------------------+----------------------+
| NULL                 | NULL                 |
+----------------------+----------------------+
1 row in set, 1 warning (0.001 sec)

Hasilnya adalah null untuk keduanya, dengan peringatan.

Mari kita periksa peringatannya:

SHOW WARNINGS;

Hasil:

+---------+------+-----------------------------------------+
| Level   | Code | Message                                 |
+---------+------+-----------------------------------------+
| Warning | 1292 | Truncated incorrect seconds value: '60' |
+---------+------+-----------------------------------------+

Jam Tidak Valid

Sekarang mari kita lihat apa yang terjadi ketika kita melampaui rentang yang diterima untuk hour argumen:

SELECT MAKETIME(900, 00, 00);

Hasil:

+-----------------------+
| MAKETIME(900, 00, 00) |
+-----------------------+
| 838:59:59             |
+-----------------------+
1 row in set, 1 warning (0.000 sec)

Dalam skenario ini, nilai waktu dikembalikan dengan jam, menit, dan detik terpotong ke kisaran atasnya. Sebuah peringatan juga dikembalikan.

Mari kita periksa peringatannya:

SHOW WARNINGS;

Hasil:

+---------+------+---------------------------------------------+
| Level   | Code | Message                                     |
+---------+------+---------------------------------------------+
| Warning | 1292 | Truncated incorrect time value: '900:00:00' |
+---------+------+---------------------------------------------+

Argumen Tidak Ada

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

SELECT MAKETIME();

Hasil:

ERROR 1582 (42000): Incorrect parameter count in the call to native function 'MAKETIME'

Dan contoh lain:

SELECT MAKETIME( 12, 1 );

Hasil:

ERROR 1582 (42000): Incorrect parameter count in the call to native function 'MAKETIME'

Buat Kencan

Lihat juga SEC_TO_TIME() untuk membuat nilai tanggal dari beberapa detik.

Lihat juga MAKEDATE() untuk membuat nilai tanggal dari tahun dan hari dalam setahun.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MariaDB JSON_VALUE() Dijelaskan

  2. Cara Mengembalikan Nomor Hari dengan Sufiks di MariaDB

  3. Bagaimana CURTIME() Bekerja di MariaDB

  4. Bagaimana TIME() Bekerja di MariaDB

  5. 4 Fungsi yang Mengekstrak Mikrodetik dari Nilai Waktu di MariaDB