sql >> Database teknologi >  >> RDS >> Sqlserver

Få antal weekender mellem to datoer i SQL

Jeg prøvede denne logik med adskillige kantsager, og det ser ud til at virke.

SELECT DATEDIFF(d, @dFrom, @dTo)/7+1
    + CASE WHEN DATEPART(dw,@dFrom) IN (1,7) THEN -1 ELSE 0 END
    + CASE WHEN DATEPART(dw,@dTo) IN (1,7) THEN -1 ELSE 0 END

Du kan ændre CASE-udsagnene alt efter, hvordan du vil håndtere sager, hvor start- eller slutdatoen er i en weekend. I mit tilfælde medtager jeg ikke weekenden, hvis start- eller slutdatoen er en lørdag eller søndag.



  1. Indsætter millioner af poster fra lokal hosting til godaddy-hosting

  2. MySQL LOG10() Funktion – Returner base-10 logaritmen for en værdi

  3. Advarsel:mysql_fetch_array():det angivne argument er ikke et gyldigt MySQL-resultat

  4. 27 oracle dba scripts til Oracle Database til administration og overvågning