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

Bagaimana DATE_SUB() Bekerja di MariaDB

Di MariaDB, DATE_SUB() adalah fungsi tanggal dan waktu bawaan yang memungkinkan Anda mengurangi jumlah dari tanggal.

Ini memungkinkan Anda untuk mengubah tanggal dengan menentukan tanggal, unit yang akan dikurangi, dan jumlah yang akan dikurangi. Anda dapat memberikan jumlah negatif untuk menambah tanggal, bukan menguranginya.

Sintaks

Sintaksnya seperti ini:

DATE_SUB(date,INTERVAL expr unit)

Dimana date adalah tanggal untuk berubah, expr adalah jumlah yang akan dikurangi, dan unit adalah unit tanggal/waktu untuk dikurangi (misalnya detik, menit, dll).

Contoh

Berikut ini contoh dasarnya:

SELECT DATE_SUB('2021-05-31 10:00:00', INTERVAL 1 HOUR);

Hasil:

+--------------------------------------------------+
| DATE_SUB('2021-05-31 10:00:00', INTERVAL 1 HOUR) |
+--------------------------------------------------+
| 2021-05-31 09:00:00                              |
+--------------------------------------------------+

Ini seperti melakukan hal berikut:

SELECT '2021-05-31 10:00:00' - INTERVAL 1 HOUR;

Hasil:

+-----------------------------------------+
| '2021-05-31 10:00:00' - INTERVAL 1 HOUR |
+-----------------------------------------+
| 2021-05-31 09:00:00                     |
+-----------------------------------------+

Interval Negatif

Memberikan interval negatif menambahkan jumlah itu sejak tanggal tersebut.

Contoh:

SELECT DATE_SUB('2021-05-31 10:00:00', INTERVAL -1 HOUR);

Hasil:

+---------------------------------------------------+
| DATE_SUB('2021-05-31 10:00:00', INTERVAL -1 HOUR) |
+---------------------------------------------------+
| 2021-05-31 11:00:00                               |
+---------------------------------------------------+

Unit Lain

Berikut adalah contoh yang menambahkan interval 1 ke berbagai unit tanggal dan waktu:

SELECT 
    DATE_SUB('2021-05-10 10:00:00', INTERVAL 1 YEAR) AS YEAR,
    DATE_SUB('2021-05-10 10:00:00', INTERVAL 1 MONTH) AS MONTH,
    DATE_SUB('2021-05-10 10:00:00', INTERVAL 1 DAY) AS DAY,
    DATE_SUB('2021-05-10 10:00:00', INTERVAL 1 HOUR) AS HOUR,
    DATE_SUB('2021-05-10 10:00:00', INTERVAL 1 MINUTE) AS MINUTE,
    DATE_SUB('2021-05-10 10:00:00', INTERVAL 1 SECOND) AS SECOND,
    DATE_SUB('2021-05-10 10:00:00', INTERVAL 1 MICROSECOND) AS MICROSECOND;

Hasil (menggunakan keluaran vertikal):

       YEAR: 2020-05-10 10:00:00
      MONTH: 2021-04-10 10:00:00
        DAY: 2021-05-09 10:00:00
       HOUR: 2021-05-10 09:00:00
     MINUTE: 2021-05-10 09:59:00
     SECOND: 2021-05-10 09:59:59
MICROSECOND: 2021-05-10 09:59:59.999999

Unit Komposit

Berikut ini contoh yang menggunakan unit komposit:

SELECT 
    DATE_SUB('2021-05-01 10:00:00', INTERVAL '1:2' YEAR_MONTH) AS "YEAR_MONTH",
    DATE_SUB('2021-05-01 10:00:00', INTERVAL '1:25:35' HOUR_SECOND) AS "HOUR_SECOND",
    DATE_SUB('2021-05-01 10:00:00', INTERVAL '1:30' DAY_MINUTE) AS "DAY_MINUTE";

Hasil:

+---------------------+---------------------+---------------------+
| YEAR_MONTH          | HOUR_SECOND         | DAY_MINUTE          |
+---------------------+---------------------+---------------------+
| 2020-03-01 10:00:00 | 2021-05-01 08:34:25 | 2021-05-01 08:30:00 |
+---------------------+---------------------+---------------------+

Tanggal Nol

Melewati null untuk tanggal kembali null :

SELECT DATE_SUB(null, INTERVAL 1 YEAR);

Hasil:

+---------------------------------+
| DATE_SUB(null, INTERVAL 1 YEAR) |
+---------------------------------+
| NULL                            |
+---------------------------------+

Argumen Tidak Ada

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

SELECT DATE_SUB();

Hasil:

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ')' at line 1

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 8 Cara Menambahkan Satu Jam ke Datetime di MariaDB

  2. 6 Cara Menambahkan Tahun ke Tanggal di MariaDB

  3. Fungsi Numerik MariaDB (Daftar Lengkap)

  4. Bagaimana TIMEDIFF() Bekerja di MariaDB

  5. Bagaimana RTRIM() Bekerja di MariaDB