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

Bagaimana ADDDATE() Bekerja di MariaDB

Di MariaDB, ADDDATE() adalah fungsi tanggal dan waktu bawaan yang melakukan aritmatika tanggal.

Ini memungkinkan Anda untuk mengubah tanggal dengan menentukan tanggal, unit yang akan ditambahkan, dan jumlah yang akan ditambahkan. Anda dapat memberikan jumlah negatif jika Anda perlu mengurangi tanggal dengan interval tertentu.

ADDDATE() juga memiliki sintaks pintasan yang memungkinkan Anda menambahkan jumlah hari tertentu ke tanggal.

Sintaks

ADDDATE() fungsi memiliki dua sintaks.

Sintaks 1

ADDDATE(expr,days) 

Dimana expr adalah tanggal, dan days adalah jumlah hari untuk ditambahkan.

Sintaks 2:

ADDDATE(date,INTERVAL expr unit) 

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

Saat menggunakan sintaks ini, ADDDATE() adalah sinonim untuk DATE_ADD() .

Contoh – Sintaks 1

Berikut ini contoh penggunaan sintaks pertama:

SELECT ADDDATE('2021-05-01', 1); 

Hasil:

+--------------------------+| TAMBAH('2021-05-01', 1) |+--------------------------+| 2021-05-02 |+--------------------------+

Kami juga dapat menyertakan porsi waktu jika diperlukan:

SELECT ADDDATE('2021-05-01 10:00:00', 1); 

Hasil:

+-----------------------------------+| TAMBAH('2021-05-01 10:00:00', 1) |+------------------------------- ----+| 2021-05-02 10:00:00 |+-----------------------------------+ 

Berikut adalah dua cara alternatif untuk melakukan hal yang sama:

SELECT 
    DATE_ADD('2021-05-01 10:00:00', INTERVAL 1 DAY) AS "Result 1",
    '2021-05-01 10:00:00' + INTERVAL 1 DAY AS "Result 2"; 

Hasil:

+---------------------+---------------------+| Hasil 1 | Hasil 2 |+---------------------+---------------------+| 2021-05-02 10:00:00 | 2021-05-02 10:00:00 |+---------------------+---------------- -----+

Contoh – Sintaks 2

Berikut ini contoh penggunaan sintaks kedua:

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

Hasil:

+------------------------------------------------- ---+| ADDDATE('2021-05-31 10:00:00', INTERVAL 1 JAM) |+--------------------------------------- --------------------+| 2021-05-31 11:000:00 |+------------------------------------------------- -----------+

Sintaks ini memungkinkan kita untuk menambahkan unit lain ke tanggal (yaitu bukan hanya hari). Di sini, saya menambahkan satu jam ke tanggal, tetapi saya dapat dengan mudah menambahkan menit, detik, bulan, hari, tahun, dll. Lanjutkan membaca untuk contoh.

Berikut adalah dua metode alternatif untuk mencapai hasil yang sama seperti contoh di atas:

SELECT 
    DATE_ADD('2021-05-31 10:00:00', INTERVAL 1 HOUR) AS "Result 1",
    '2021-05-31 10:00:00' + INTERVAL 1 HOUR AS "Result 2"; 

Hasil:

+---------------------+---------------------+| Hasil 1 | Hasil 2 |+---------------------+---------------------+| 2021-05-31 11:000:00 | 2021-05-31 11:00:00 |+---------------------+---------------- -----+

Interval Negatif

Memberikan interval negatif akan mengurangi jumlah tersebut dari tanggal.

Contoh:

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

Hasil:

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

Unit Lain

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

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

Hasil (menggunakan keluaran vertikal):

 TAHUN:2022-05-01 10:00:00 BULAN:2021-06-01 10:00:00 HARI:2021-05-02 10:00:00 JAM:01-01 2021 11:00:00 MENIT:2021-05-01 10:01:00 KEDUA:05-01 2021 10:00:01MICROSECOND:2021-05-01 10:00:00,000001

Unit Komposit

Berikut ini contoh yang menggunakan unit komposit:

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

Hasil:

+---------------------+---------------------+-- -------------------+| YEAR_MONTH | HOUR_SECOND | DAY_MINUTE |+---------------------+---------------------+--- ------------------+| 2022-07-01 10:00:00 | 2021-05-01 11:25:35 | 2021-05-01 11:30:00 |+---------------------+---------------- -----+---------------------+

Tanggal Nol

Melewati null untuk tanggal kembali null :

SELECT ADDDATE(null, INTERVAL 1 YEAR); 

Hasil:

+--------------------------------+| TAMBAH(null, INTERVAL 1 TAHUN) |+--------------------------------+| NULL |+--------------------------------+

Argumen Tidak Ada

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

SELECT ADDDATE(); 

Hasil:

ERROR 1064 (42000):Anda memiliki kesalahan dalam sintaks SQL Anda; periksa manual yang sesuai dengan versi server MariaDB Anda untuk sintaks yang tepat untuk digunakan di dekat ')' di baris 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. Cadangan &PostgreSQL MariaDB di Cloud - Rilis ClusterControl 1.6.1

  2. Apa yang Harus Diperiksa jika Pemanfaatan I/O MySQL Tinggi?

  3. Cara Menyebarkan Database Chamilo MariaDB untuk Ketersediaan Tinggi

  4. 4 Fungsi untuk Mengembalikan Bulan dari Tanggal di MariaDB

  5. MariaDB JSON_MERGE() Dijelaskan