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

Cara Menemukan Jumlah Hari Antara Dua Tanggal di MySQL

Masalah:

Anda ingin mendapatkan perbedaan, dalam hitungan hari, antara dua tanggal di database MySQL.

Contoh:

Basis data kami memiliki tabel bernama food dengan data pada kolom id , name , purchase_date , dan expiration_date .

id nama tanggal_pembelian tanggal_kedaluwarsa
1 roti 20-07-2019 22-08-2019
2 mentega 30-07-2018 10-08-2019
3 susu 01-12-2019 13-01-2019
4 yoghurt 25-02-2019 24-02-2019

Untuk setiap produk makanan, mari kita lihat nama produk dan jumlah hari antara tanggal kedaluwarsa dan tanggal pembelian.

Solusi:

Kami akan menggunakan DATEDIFF() fungsi. Inilah kueri yang akan Anda tulis:

SELECT
  name,
  DATEDIFF(expiration_date, purchase_date) AS days
FROM food;

Berikut hasil querynya:

nama hari
roti 33
mentega 376
susu 1
yoghurt -1

Diskusi:

Gunakan DATEDIFF() berfungsi untuk mengambil jumlah hari antara dua tanggal dalam database MySQL. Fungsi ini membutuhkan dua argumen:

  1. Tanggal akhir. (Dalam contoh kita, ini adalah expiration_date kolom.)
  2. Tanggal mulai. (Dalam contoh kami, ini adalah purchase_date kolom.)

Argumen ini dapat berupa nilai tanggal/waktu, ekspresi yang mengembalikan nilai tanggal/waktu, atau kolom dari tipe data tanggal/tanggal.

Fungsi ini mengurangi tanggal mulai dari tanggal akhir dan mengembalikan jumlah hari sebagai bilangan bulat. Dalam contoh kita, mentega dibeli pada '30-07-2018', tetapi tanggal kedaluwarsanya adalah '2019-08-10'; setelah pembelian, itu bisa dimakan selama 376 hari. Perhatikan bahwa yogurt dibeli sebagai produk usang:perbedaan hari adalah -1 dan tanggal pembeliannya lebih lambat dari tanggal kedaluwarsanya.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Beberapa Pembaruan di MySQL

  2. MySQLSyntaxErrorException dekat ? ketika mencoba menjalankan Pernyataan Siap

  3. Bagaimana merancang database mysql multi tenant

  4. Cara mengimpor file CSV ke tabel MySQL

  5. Apakah mungkin untuk memiliki tampilan yang diindeks di MySQL?