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

Bagaimana SUBTIME() Bekerja di MariaDB

Di MariaDB, SUBTIME() adalah fungsi tanggal dan waktu bawaan yang mengurangi jumlah dari ekspresi waktu atau datetime.

Ini memungkinkan Anda untuk mengubah ekspresi waktu atau datetime dengan meneruskan ekspresi itu, serta ekspresi waktu untuk mengurangi ekspresi itu. Anda dapat memberikan jumlah negatif jika Anda perlu menambahkan ke ekspresi waktu.

Sintaks

Sintaksnya seperti ini:

SUBTIME(expr1,expr2)

Dimana expr1 adalah ekspresi waktu atau datetime, dan expr2 adalah ekspresi waktu.

Contoh

Ini contohnya:

SELECT SUBTIME('10:00:00', '02:30:45');

Hasil:

+---------------------------------+
| SUBTIME('10:00:00', '02:30:45') |
+---------------------------------+
| 07:29:15                        |
+---------------------------------+

Ekspresi Tanggal-waktu

Argumen pertama juga dapat berupa ekspresi datetime:

SELECT SUBTIME('2021-05-01 10:00:00', '22:30:45');

Hasil:

+--------------------------------------------+
| SUBTIME('2021-05-01 10:00:00', '22:30:45') |
+--------------------------------------------+
| 2021-04-30 11:29:15                        |
+--------------------------------------------+

Dalam hal ini, cukup waktu yang dikurangi untuk menarik tanggal kembali ke hari dan bulan sebelumnya.

Ekspresi Waktu dalam Format yang Lebih Longgar

MariaDB memungkinkan penetapan waktu dalam format yang lebih longgar, seperti menghilangkan angka nol di depan dan memberikan nilai untuk hari itu.

Oleh karena itu, kita dapat melakukan ini:

SELECT SUBTIME('2021-05-01 10:00:00', '366 1:1:1.123456');

Hasil:

+----------------------------------------------------+
| SUBTIME('2021-05-01 10:00:00', '366 1:1:1.123456') |
+----------------------------------------------------+
| 2020-04-30 08:58:58.876544                         |
+----------------------------------------------------+

Interval Negatif

Memberikan interval negatif untuk porsi hari ditambahkan jumlah itu ke waktu/tanggal.

Contoh:

SELECT SUBTIME('2021-05-01 10:00:00', '-366 1:1:1.123456');

Hasil:

+-----------------------------------------------------+
| SUBTIME('2021-05-01 10:00:00', '-366 1:1:1.123456') |
+-----------------------------------------------------+
| 2022-05-02 11:01:01.123456                          |
+-----------------------------------------------------+

Argumen Null

Jika ada argumen null , hasilnya null :

SELECT 
    SUBTIME('10:00:00', null),
    SUBTIME(null, '02:30:45'),
    SUBTIME(null, null);

Hasil:

+---------------------------+---------------------------+---------------------+
| SUBTIME('10:00:00', null) | SUBTIME(null, '02:30:45') | SUBTIME(null, null) |
+---------------------------+---------------------------+---------------------+
| NULL                      | NULL                      | NULL                |
+---------------------------+---------------------------+---------------------+

Argumen Tidak Ada

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

SELECT SUBTIME();

Hasil:

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

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Perbedaan Antara INSTR() vs LOCATE() di MariaDB

  2. Cara Mendeteksi jika suatu Nilai Berisi Setidaknya Satu Digit Numerik di MariaDB

  3. Cara Mengotomatiskan Failover Basis Data dengan ClusterControl

  4. Bagaimana COERCIBILITY() Bekerja di MariaDB

  5. Bagaimana GREATEST() Bekerja di MariaDB