Satura rādītājs:

Kā SQL skaitīt darbadienas?
Kā SQL skaitīt darbadienas?

Video: Kā SQL skaitīt darbadienas?

Video: Kā SQL skaitīt darbadienas?
Video: SQL Query | Calculate number of weekdays between two dates | Exclude Weekends | DateDiff | DateName 2024, Decembris
Anonim

Šajā pieejā mēs izmantojam vairākas darbības, kurās tiek izmantotas funkcijas DATEDIFF un DATEPART, lai veiksmīgi noteiktu darba dienas

  1. 1. darbība: Aprēķināt kopējais skaits dienas starp datumu diapazonu.
  2. 2. darbība: Aprēķināt kopējais nedēļu skaits starp datumu diapazonu.
  3. 3. darbība: izslēdziet nepilnīgas nedēļas nogales.

Vienkārši sakot, kā SQL Server saskaitīt dienas starp diviem datumiem?

PRINT DATEDIFF(DIENA, '1/1/2011', '3/1/2011') sniegs jums to, ko vēlaties. Tas dod skaits reizes pusnakts robeža ir šķērsota starp uz divi datumi . Ja iekļaujat abus, varat izlemt, ka tam būs jāpievieno viens datumi iekš skaitīt - vai atņemiet vienu, ja nevēlaties iekļaut nevienu datums.

Tāpat kā SQL aprēķināt dienas, izņemot nedēļas nogales? Varat vienkārši izmantot datediff funkciju sql . un tad var atņemt nedēļas nogales starp šiem datumiem, ja tādi ir. Piemēram, pārbaudiet zemāk esošo vaicājumu. Un ja vēlies izslēgt tad arī brīvdienas, arī Tu vari aprēķināt brīvdienas starp sākuma/beigu datumu, un to var atņemt no galīgās atlases.

Tātad, kā aprēķināt darba dienas?

Uz aprēķināt skaits darba dienas starp diviem datumiem varat izmantot funkciju NETWORKDAYS. NETWORKDAYS automātiski izslēdz nedēļas nogales, kā arī pēc izvēles var izslēgt arī pielāgotu brīvdienu sarakstu. Ņemiet vērā, ka NETWORKDAYS aprēķinā iekļauj gan sākuma, gan beigu datumus, ja tādi ir darba dienas.

Kā SQL saskaitīt dienu skaitu mēnesī?

Process: kad tiek izmantots EOMONTH, neatkarīgi no izmantotā datuma formāta tas tiek pārveidots par datuma un laika formātu SQL - serveris. Tad EOMONTH() datuma izvade būs 2016-12-31 ar 2016 kā gadu, 12 kā Mēnesis un 31 as Dienas . Šī izvade, kad tā tiek nodota dienai(), tā dod jums dienas kopā skaitīt iekšā mēnesis.

Ieteicams: