ברוך הבא, אורח
שם משתמש: סיסמא: זכור אותי

דיון: הסבר לגבי פונקצייה המחזירה את היום הראשון בשבוע שעבר

הסבר לגבי פונקצייה המחזירה את היום הראשון בשבוע שעבר 11 years 4 months ago #4563

  • user
  • user's Avatar
  • Offline
  • Fresh Boarder
  • הודעות: 2
  • קרמה: 0
SELECT  DATEADD(wk,DATEDIFF(wk,6,GETDATE()-7),6)

שלום רב,
ראיתי באחד הפורומים את הפונקצייה הנ"ל אבל אני לא מצליח להבין אותה.
פירקתי אותה אך עדיין לא הצלחתי להבין:

GETDATE()-7 = מחזיר את היום פחות 7 ימים

DATEDIFF(wk,6,GETDATE()-7) = מחזיר 5726. מדוע? מה זה המספר הזה? מדוע המשמעות היא כמה שבועות יש מ 6 עד היום פחות 7 ימים?

DATEADD(wk,DATEDIFF(wk,6,GETDATE()-7),6) = להוסיף 5726 שבועות ל 6. מדוע? ואיך זה נעשה?

אשמח לעזרה, תודה מראש.
הנהלת האתר ביטלה גישת כתיבה ציבורית.

בעניין: הסבר לגבי פונקצייה המחזירה את היום הראשון בשבו 11 years 3 months ago #4771

  • GeriReshef
  • GeriReshef's Avatar
  • Offline
  • Senior Boarder
  • הודעות: 58
  • קרמה: 0
תחילת הספירה של מיקרוסופט היא 01/01/1900, התאריך היה שווה אז 0 והיום יום שני.
מספר ימים לאחר מכן ב-07/01/1900 התאריך היה שווה 6 והיום יום ראשון (היום הראשון בשבוע - הראשון לספירת מיקרוסופט).

אם נוסיף לו 5726 שבועות (ליום מספר 6) - נקבל את תחילת השבוע הקודם למועד בו ביצעת את הבדיקה.
כמובן שלפני כן הפונקציה הייתה צריכה לחשב כמה שבועות עברו מתחילת הספירה ועד היום לפני שבוע..
הנהלת האתר ביטלה גישת כתיבה ציבורית.
זמן יצירת העמוד: 0.164 שניות

הדף שלנו בפייסבוק

מעניין? שתפו דף זה באמצעות הטלפון הנייד

אירועים קרובים

מאמרים

מגמות של ביג דאטה בעולם הביטוח
CA Technologies
SSIS - Buffer Size Optimization
קטגוריה ראשית
בדיקות BI ו-DWH לעומת הבדיקות בתחומים אחרים
קטגוריה ראשית
איסוף דרישות לפרויקטי BI
קטגוריה ראשית
כח המידע במיקוד
קטגוריה ראשית
0

Microsoft

Oracle

IBM

Informatica

Sap

SAS

Qlikview

Cloudera

Machine Learning