Oracle
 sql >> база данни >  >> RDS >> Oracle

Oracle:Дни между две дати и Изключване на дни от седмицата как да се справят с отрицателните числа

Адаптирано от моя отговор тук:

Вземете броя на дните между понеделниците на двете седмици (използвайки TRUNC( datevalue, 'IW' ) като NLS_LANGUAGE независим метод за намиране на понеделник от седмицата), след което добавете деня от седмицата (понеделник =1, вторник =2 и т.н., към максимум 5, за да се игнорират уикендите) за крайната дата и извадете деня от седмицата за началната дата. Като това:

SELECT ( TRUNC( end_date, 'IW' ) - TRUNC( start_date, 'IW' ) ) * 5 / 7
       + LEAST( end_date - TRUNC( end_date, 'IW' ) + 1, 5 )
       - LEAST( start_date - TRUNC( start_date, 'IW' ) + 1, 5 )
          AS WeekDaysDifference
FROM   your_table


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Промяна на точността на числовата колона в Oracle

  2. Инсталиране на Oracle 12c Standard Edition на Windows 10 Professional

  3. SQL за намиране на главни букви от колона

  4. Oracle Live SQL

  5. Грешка 404 не е намерена с EM 12c