sql >> Database teknologi >  >> RDS >> Oracle

SQL for at returnere antallet af arbejdsdage mellem 2 passerede datoer

Det er så enkelt :

SQL> Vælg antal(*) 2 fra (vælg rækkenummer rnummer 3 fra alle_objekter 4 hvor rækkenummer <=til_dato('18-dec-2009','dd-man-åååå') - til_dato('16 -nov-2009')+1 ) 5 hvor to_char( to_date('16-nov-2009','dd-man-yyyy')+rnum-1, 'DY' ) 6 not in ( 'SAT', 'SUN ' ) COUNT(*) ---------- 25 SQL> Vælg to_char( to_date('16-nov-2009','dd-mon-yyyy')+rnum-1, 'DY dd-mon -åååå' ) 2 fra (vælg rækkenummer rnummer 3 fra alle_objekter 4 hvor rækkenummer <=til_dato('18-dec-2009','dd-man-åååå') - til_dato('16-nov-2009')+1) 5 hvor to_char( to_date('16-nov-2009','dd-man-yyyy')+rnum-1, 'DY' ) 6 not in ( 'SAT', 'SUN' )DAY_DATE------ ----------MAN 16-nov-2009TI 17-nov-2009ON 18-nov-2009THU 19-nov-2009FRE 20-nov-2009MAN 23-nov-2009TUE 24-nov-2009ON 25-novU-2009 26-nov-2009FRI 27-nov-2009MAN 30-nov-2009TI 01-dec-2009ON 02-dec-2009THU 03-dec-2009FRI 04-dec-2009MAN 07-dec- 2009TI 08-dec-2009ON 09-dec-2009THU 10-dec-2009FRE 11-dec-2009MAN 14-dec-2009TI 15-dec-2009ON 16-dec-2009-2009-2009-09 /kode>

  1. Hvad er et indeks?

  2. Sådan udfører du redigering i junction-tabel

  3. Kan jeg lave søgning uden store og små bogstaver med JSON_EXTRACT i MySQL?

  4. Hvordan kan jeg oprette en værdi ud fra to andre værdier i samme tabel i min SQL?