Setara fungsi DATEDIFF dari SQL Server di bawah Oracle.
DATEDIFF adalah fungsi biasa dalam SQL Server untuk mencari bilangan hari antara dua tarikh. Sama juga, rakan sejawatannya, salah satu Sistem Pengurusan Pangkalan Data Relasi yang paling mantap Oracle menawarkan penyelesaian sendiri, walaupun Oracle tidak mempunyai fungsi DATEDIFF. Fungsi trunc () boleh digunakan untuk mengira bilangan hari. Jika tidak, ia boleh didarabkan sebanyak 24, 1440 atau 86400 untuk mengira bilangan hari dalam jam, minit & saat. Begitu juga, bulat () boleh digunakan untuk mendapatkan hari yang terdekat.
Isu
Apakah fungsi dalam Oracle yang akan menjadi sama dengan DATEDIFF dalam SQL Server?
Saya ingin mengetahui perbezaan yang boleh wujud antara dua tarikh, sama ada dalam bulan atau hari atau jam atau minit ....
Penyelesaian
Pada Oracle, ia merupakan isu aritmetik
pilih DATE1-DATE2 dari dwi
1 = 1 hari, angka selepas koma mewakili sebahagian kecil daripada hari.
Gunakan trunc () untuk bilangan hari
Jika tidak, tambahkan nilai
- oleh 24 jam
- oleh 1440 selama beberapa minit
- oleh 86400 selama beberapa saat
Terima kasih kepada Krysstof untuk tip ini.