sql >> Database >  >> RDS >> Sqlserver

Krijg het aantal weekenden tussen twee datums in SQL

Ik heb deze logica uitgeprobeerd met verschillende randgevallen en het lijkt te werken.

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

U kunt de CASE-instructies wijzigen, afhankelijk van hoe u zaken wilt behandelen waarvan de begin- of einddatum in een weekend valt. In mijn geval reken ik het weekend niet mee als de begin- of einddatum een ​​zaterdag of zondag is.



  1. Hoe verbinding te maken met mysql-database in phonegap

  2. Hoe MapReduce werkt in Hadoop

  3. php mysql slaat regeleinden op in tekstgebied in database

  4. mysql datum vergelijking met date_format