Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Beda antara tanggal - SQL plus

Judul pertanyaan termasuk "SQL plus", yang menyiratkan Oracle bagi saya.

Oracle tidak memiliki fungsi DATEDIFF. Metode paling sederhana untuk menentukan jumlah hari antara 2 tanggal menggunakan Oracle adalah dengan mengurangi satu tanggal dari tanggal lainnya.

Select item, datebought, datesold, datesold-datebought as days from auctions;

Oracle menyimpan info tanggal dan waktu di bidang tanggal. Merupakan praktik umum untuk menyimpan tanggal yang terpotong menjadi tengah malam dalam bidang tanggal di Oracle jika Anda tidak peduli dengan waktu.

Jika tanggal Anda sudah terpotong menjadi tengah malam, maka nilai yang dihitung akan menjadi angka integral.

Tetapi jika tanggal tersimpan Anda menyertakan info waktu, Anda mungkin ingin memotong nilainya untuk mendapatkan nilai integral. Saya menduga Anda ingin memotong setiap tanggal sebelum pengurangan, sehingga jika dibeli pada satu hari, maka setiap saat pada hari berikutnya akan dihitung sebagai 1 hari. Oracle memotong tanggal menjadi tengah malam.

select item, datebought, datesold, trunc(datesold)-trunc(datebought) as days from auctions;

Saya setuju dengan WarrenT bahwa tabel Anda tidak boleh memiliki kolom hari yang didenormalisasi.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Apakah perlu membuang DbCommand setelah digunakan?

  2. Mengapa saya mendapatkan kesalahan format:Properti 'v$session.program' terhubung ke Oracle?

  3. Bagaimana cara menggabungkan 2 kueri dengan jumlah catatan dan kolom yang berbeda di Oracle sql?

  4. Cara Menemukan Nama Batasan di Oracle

  5. validasi pada bidang email/kode pos di sql/Oracle