שאלה על תאריך מעפן

  • פותח הנושא rnan
  • פורסם בתאריך

rnan

New member
שאלה על תאריך מעפן

היי איך אני יכול לזהות אם בשדה DATETIME קיים תאריך ה יישן הזה ( הברירת מחדל) ? אני רוצה לדעת האם השדה יש בו תאריך ( ברירת המחדל - לא נחשב) כלומק אם מופיע ברירת מחדל- שיראה לי שאין תאריך אבל אני לא רוצה להשוות את התנאי לתאריך ה ברירת מחדל... צריך להיות משהוא פשוט יותר
 

גרי רשף

New member
קשה להבין מה אתה רוצה

אם הבעייה היא ברירת המחדל- ניתן לשנות זאת, רק עליך לציין עם איזו גרסה אתה עובד. בכלל- כדאי להשקיע יותר אנרגיה בלהסביר באופן ברור מה הבעייה, מה סביבת העבודה ומה אתה רוצה; ולקלל פחות את המחשב..
 

rnan

New member
היי גרי תודה על התגובה - אנסח שוב

sql server 2005 express יש לי שדה DATETIME כידוע לך ישנו תאריך המוזר הזה עם שנת 1899... אני רוצה לזהות האם מופיע בשדה תאריך "רגיל" או תאריך DEFAULT חשבתי על כמה דרכים אבל אני לא רוצה מקום לטעויות הנה :
select case when my_field is null then 'yes' else 'no' end =========== this is working but i have another one working as well.. select case when my_field >0 then 'yes' else 'no' end​
גרי בקיצוא אני חושב שהבנת אותי אני מחפש לדעת האם יש בשדה ערך שהכניסו(!) ולא ערך של שדה ריק - מה שנותן את תאריך ה 1899 מהי הדרך הכי בטוחה לבדוק זאת? תודה רבה
 

גרי רשף

New member
מקווה שהבנתי..

בגדול יש שלושה סוגי ערכים שיכולים להופיע בשדה: Null שפירושו היעדר ערך, 0 (אפס) שבשדה מסוג תאריך מתפרש בתור משהו משנת 1899 ואשר מקורו ככל הנראה בערך ברירת המחדל שהוגדר לשדה, ערך אחר (תאריך שהוכנס ואינו ברירת מחדל). כדי לבודד את שני הראשונים תוכל לכתוב משהו כזה:
select case when IsNull(my_field,0) >0 then 'yes' else 'no' end​
הפונקציה IsNull תהפוך גם את ה-Null ל-0.
 

rnan

New member
מממ...

קודם כל תודה אז מה ההבדל אם אני אשתמש ב ISNULL לבין when my_field is not null ? תודה וסליחה על הטירדה
 

גרי רשף

New member
אלו שני דברים שונים

Is Null בודק אם שדה מסויים הוא Null (ו-Is Not Null אם הוא אינו Null). הפונקציה IsNull הופכת את ה-Null ל-0 (בדוגמה שאני כתבתי) וזה מקל על בדיקת התנאים: הביטוי (IsNull(Sade,0 שווה 0 גם אם Sade שווה 0 וגם אם Sade הוא Null.
 

rnan

New member
../images/Emo210.gif עוד שאלה ...(שרשור)

איך אני משנה את ערך ה DEFAULT עבור שדה ? נראה לי האפוציה חסומה לי... מדוע ? אולי בגלל ששיחקתי DAVE ?
 
למעלה