Mundarija:

SQL da ish kunlarini qanday hisoblash mumkin?
SQL da ish kunlarini qanday hisoblash mumkin?

Video: SQL da ish kunlarini qanday hisoblash mumkin?

Video: SQL da ish kunlarini qanday hisoblash mumkin?
Video: Hamma ko`rsin | FOREX da qilinadigan katta xatolar 2024, May
Anonim

Ushbu yondashuvda biz ish kunlarini muvaffaqiyatli aniqlash uchun DATEDIFF va DATEPART funksiyalaridan foydalanadigan bir necha bosqichlarni qo'llaymiz

  1. 1-qadam: Hisoblash umumiy soni kunlar sana oralig'ida.
  2. 2-qadam: Hisoblang sana oralig'idagi haftalarning umumiy soni.
  3. 3-qadam: Tugallanmagan dam olish kunlarini istisno qiling.

Oddiy qilib aytganda, SQL Serverda ikki sana orasidagi kunlarni qanday hisoblashim mumkin?

PRINT DATEDIFF(KUN, '1/1/2011', '3/1/2011') sizga nima kutayotganingizni beradi. Bu beradi soni marta yarim tun chegarasi kesib o'tadi orasida the ikki sana . Agar ikkalasini ham qo'shsangiz, bittasini qo'shishga qaror qilishingiz mumkin sanalar ichida hisoblash - yoki ikkalasini ham qo'shishni xohlamasangiz, bittasini ayiring sana.

Xuddi shunday, SQLda dam olish kunlaridan tashqari kunlarni qanday hisoblash mumkin? Siz shunchaki datediff funktsiyasidan foydalanishingiz mumkin sql . va keyin siz ayirishingiz mumkin dam olish kunlari agar mavjud bo'lsa, ushbu sanalar orasida. Misol uchun, quyidagi so'rovni tekshiring. Va agar xohlasangiz istisno qilish bayram ham, keyin, Siz ham mumkin hisoblash boshlanish/tugash sanasi orasidagi bayramlar va uni yakuniy tanlovdan ayirish mumkin.

Shunday qilib, ish kunlarini qanday hisoblash mumkin?

Kimga hisoblash soni ish kunlari ikki sana orasida NETWORKDAYS funksiyasidan foydalanishingiz mumkin. NETWORKDAYS avtomatik ravishda dam olish kunlarini istisno qiladi va u ixtiyoriy ravishda bayramlar roʻyxatini ham istisno qilishi mumkin. E'tibor bering, NETWORKDAYS, agar ular bo'lsa, hisoblashda boshlanish va tugash sanalarini ham o'z ichiga oladi ish kunlari.

SQL da bir oydagi kunlar sonini qanday hisoblash mumkin?

Jarayon: EOMONTH ishlatilsa, biz qaysi sana formatini ishlatmasak, u DateTime formatiga aylantiriladi. SQL -server. Keyin EOMONTH() sanasi 2016-12-31 bo'lib, 2016 yil, 12-yil bo'ladi. Oy va 31 kabi kunlar . Ushbu chiqish Day() ga o'tkazilganda sizga beradi jami kunlar ichida hisoblash oy.

Tavsiya: