Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

DATE_SUB() Contoh – MySQL

Di MySQL, Anda dapat menggunakan DATE_SUB() fungsi untuk mengurangi jumlah waktu tertentu dari tanggal. Misalnya, Anda dapat menggunakannya untuk mengurangi 7 hari dari tanggal tertentu. Anda dapat menentukan apakah akan mengurangi hari, minggu, bulan, kuartal, tahun, dll. Anda juga dapat mengurangi nilai waktu, seperti detik, mikrodetik, dll.

Fungsi ini mirip dengan DATE_ADD() , kecuali itu mengurangi dari tanggal, bukan menambahkannya.

Sintaks

Sintaksnya seperti ini:

DATE_SUB(date,INTERVAL expr unit)

Contoh 1 – Penggunaan Dasar

Berikut ini contoh penggunaannya.

SELECT DATE_SUB('2021-05-07', INTERVAL 5 DAY) AS Result;

Hasil:

+------------+
| Result     |
+------------+
| 2021-05-02 |
+------------+

Contoh ini mengurangi 5 hari dari tanggal yang diberikan oleh argumen pertama.

Contoh 2 – Unit Tanggal Lainnya

Anda dapat menentukan satuan dalam hari, minggu, bulan, tahun, dll. Berikut beberapa contohnya.

SELECT 
    '2021-05-07' AS 'Start Date',
    DATE_SUB('2021-05-07', INTERVAL 2 WEEK) AS '-2 Weeks',
    DATE_SUB('2021-05-07', INTERVAL 2 MONTH) AS '-2 Months',
    DATE_SUB('2021-05-07', INTERVAL 2 QUARTER) AS '-2 Quarters',
    DATE_SUB('2021-05-07', INTERVAL 2 YEAR) AS '-2 Years';

Hasil:

+------------+------------+------------+-------------+------------+
| Start Date | -2 Weeks   | -2 Months  | -2 Quarters | -2 Years   |
+------------+------------+------------+-------------+------------+
| 2021-05-07 | 2021-04-23 | 2021-03-07 | 2020-11-07  | 2019-05-07 |
+------------+------------+------------+-------------+------------+

Contoh 3 – Satuan Waktu

Anda juga dapat mengurangi unit waktu dari nilai tanggal/waktu. Ini contohnya.

SELECT DATE_SUB('2021-05-07 10:00:00', INTERVAL 5 HOUR) AS Result;

Hasil:

+---------------------+
| Result              |
+---------------------+
| 2021-05-07 05:00:00 |
+---------------------+

Dan Anda dapat menentukan beberapa unit sekaligus. Misalnya, Anda dapat menentukan jam dan menit. Seperti ini.

SELECT DATE_SUB('2021-05-07 10:00:00', INTERVAL '1:30' HOUR_MINUTE) AS Result;

Hasil:

+---------------------+
| Result              |
+---------------------+
| 2021-05-07 08:30:00 |
+---------------------+

Nilai yang Diharapkan

Tabel berikut menunjukkan nilai satuan yang valid dan format yang diharapkan.

unit Nilai expr yang diharapkan Format
MIKROSEKONDA MIKROSEKON
DETIK DETIK
MENIT MENIT
JAM JAM
HARI HARI
MINGGU MINGGU
BULAN BULAN
KUARTA PEREMPAT
TAHUN TAHUN
SECOND_MICROSECOND ‘SECONDS.MICROSECONDS’
MINUTE_MICROSECOND 'MENIT:DETIK.MIKROSEKON'
MINUTE_SECOND 'MENIT:DETIK'
HOUR_MICROSECOND ‘JAM:MENIT:DETIK.MICROSECONDS’
HOUR_SECOND 'JAM:MENIT:DETIK'
HOUR_MINUTE 'JAM:MENIT'
DAY_MICROSECOND 'HARI JAM:MINUTES:SECONDS.MICROSECONDS'
HARI_DETIK 'HARI JAM:MENIT:DETIK'
HARI_MINUTE 'HARI JAM:MENIT'
HARI_JAM 'JAM HARI'
BULAN_TAHUN 'TAHUN-BULAN'

Anda juga dapat menggunakan SUBDATE() berfungsi untuk melakukan hal yang sama (ini adalah sinonim untuk DATE_SUB() berfungsi saat menggunakan sintaks yang sama).

Selain itu, sintaks SUBDATE() memiliki bentuk kedua, yang merupakan metode singkat untuk mengurangkan sejumlah hari dari suatu tanggal. Untuk info lebih lanjut, lihat Contoh SUBDATE() di MySQL.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara menghindari tanda kutip tunggal di MySQL

  2. Cara membuat kunci primer komposit dengan benar - MYSQL

  3. Bagaimana cara mengisi lubang di bidang kenaikan otomatis?

  4. Tipe Data ENUM (Enumeration) di MySQL:12 Fakta Teratas dan Tips Berguna

  5. Sisipkan Query Untuk Menyisipkan Baris di MySQL