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

DATEDIFF() Contoh – MySQL

Di MySQL, Anda dapat menggunakan DATEDIFF() berfungsi untuk mencari perbedaan antara dua tanggal. Cara kerjanya adalah, Anda memberikan dua argumen (satu untuk setiap tanggal), dan DATEDIFF() akan mengembalikan jumlah hari antara dua tanggal.

Contoh di bawah.

Sintaks

Pertama, inilah sintaksnya:

DATEDIFF(expr1,expr2)

Dimana expr1 adalah kencan pertama, dan expr2 adalah kencan kedua.

Contoh 1 – Penggunaan Dasar

Berikut ini contoh untuk didemonstrasikan.

SELECT DATEDIFF('2020-10-30', '2020-10-01') AS 'Result';

Hasil:

+--------+
| Result |
+--------+
|     29 |
+--------+

Dalam contoh ini, kencan pertama lebih lambat dari kencan kedua. Dalam hal ini kita mendapatkan nilai pengembalian yang positif.

Contoh 2 – Perbandingan dengan Tanggal Sebelumnya

Kencan pertama tidak harus lebih lambat dari kencan kedua. Anda dapat menggunakan tanggal yang lebih awal untuk argumen pertama dan itu akan mengembalikan nilai negatif. Jika kita menukar kedua argumen itu, kita mendapatkan yang berikut:

SELECT DATEDIFF('2020-10-01', '2020-10-30') AS 'Result';

Hasil:

+--------+
| Result |
+--------+
|    -29 |
+--------+

Contoh 3 – Nilai Datetime

Saat digunakan dengan datetime nilai, hanya bagian tanggal yang digunakan untuk membandingkan tanggal. Contoh:

SELECT 
  DATEDIFF('2020-10-30 23:59:59', '2020-10-01') AS 'Result 1',
  DATEDIFF('2020-10-01 23:59:59', '2020-10-30') AS 'Result 2';

Hasil:

+----------+----------+
| Result 1 | Result 2 |
+----------+----------+
|       29 |      -29 |
+----------+----------+

Contoh 4 – Kueri Basis Data

Berikut ini contoh penggunaan DATEDIFF() dalam kueri basis data. Dalam contoh ini, saya membandingkan payment_date kolom dengan tanggal hari ini (dengan menggunakan CURDATE() berfungsi untuk mengembalikan tanggal hari ini):

USE sakila;
SELECT
  DATE(payment_date) AS 'Date/Time',
  CURDATE(),
  DATEDIFF(payment_date, CURDATE()) AS 'Date'
FROM payment
WHERE payment_id = 1;

Hasil:

+------------+------------+-------+
| Date/Time  | CURDATE()  | Date  |
+------------+------------+-------+
| 2005-05-25 | 2018-06-25 | -4779 |
+------------+------------+-------+


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tidak dapat terhubung ke server MySQL lokal melalui soket '/var/mysql/mysql.sock' (38)

  2. Menggunakan indeks, menggunakan sementara, menggunakan filesort - bagaimana cara memperbaikinya?

  3. Cara mengatur koneksi PDO dengan benar

  4. MySQL Pilih Baris N Teratas

  5. Contoh transaksi PHP + MySQL