הצטרפו לקבוצות שלנו לקבלת עדכונים מרוכזים פעם בשבוע:

ווטסאפ:
http://wa.dwh.co.il
טלגרם:
http://telegram.dwh.co.il

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

More
16 years 6 months ago #4563 by user
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. מדוע? ואיך זה נעשה?

אשמח לעזרה, תודה מראש.

Please התחברות to join the conversation.

More
16 years 5 months ago #4771 by GeriReshef
תחילת הספירה של מיקרוסופט היא 01/01/1900, התאריך היה שווה אז 0 והיום יום שני.
מספר ימים לאחר מכן ב-07/01/1900 התאריך היה שווה 6 והיום יום ראשון (היום הראשון בשבוע - הראשון לספירת מיקרוסופט).

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

Please התחברות to join the conversation.

Time to create page: 0.270 seconds