SQLite
 sql >> Teknologi Basis Data >  >> RDS >> SQLite

Cara Menghitung Perbedaan Antara Dua Tanggal di SQLite

Masalah:

Anda memiliki dua kolom dengan tipe tanggal dan Anda ingin menghitung perbedaan di antara keduanya.

Contoh:

Dalam travel tabel, ada tiga kolom:id , departure , dan arrival . Anda ingin menghitung selisih antara arrival dan departure dan jumlah hari dari kedatangan hingga keberangkatan termasuk .

travel tabel terlihat seperti ini:

id keberangkatan kedatangan
1 25-03-2018 05-04-2018
2 12-09-2019 23-09-2019
3 14-07-2018 14-07-2018
4 05-01-2018 08-01-2018

Solusi:

SELECT
  id,
  departure,
  arrival,
  JULIANDAY(arrival) - JULIANDAY(departure) AS date_difference,
  JULIANDAY(arrival) - JULIANDAY(departure) + 1 AS days_inclusive
FROM travel;

Hasilnya adalah:

id keberangkatan kedatangan date_difference hari
1 25-03-2018 05-04-2018 11 12
2 12-09-2019 23-09-2019 11 12
3 14-07-2018 14-07-2018 0 1
4 05-01-2018 08-01-2018 3 4

Diskusi:

Untuk menghitung perbedaan antar tanggal, gunakan JULIANDAY() fungsi, yang menghitung jumlah hari sejak tengah hari di Greenwich pada tanggal 24 November 4714 SM. Anda menggunakan JULIANDAY(date) untuk masing-masing dari dua tanggal; cukup kurangi dengan tanda minus (-):

JULIANDAY(arrival) - JULIANDAY(departure)

Dalam kebanyakan kasus, yang Anda inginkan adalah jumlah hari dari kencan pertama hingga kencan kedua termasuk . Maka Anda perlu menambahkan 1 hari ke perbedaan hari:

JULIANDAY(arrival) - JULIANDAY(departure) + 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. Cara menginstal versi terbaru dari Sqlite aar saat menggunakan Room Di Android

  2. Bagaimana SQLite Sum() Bekerja

  3. Bagaimana Fungsi Time() Bekerja di SQLite

  4. SQLite JSON_QUOTE()

  5. Bagaimana cara mendapatkan nilai db SQLite di Arraylist ke Listview