View Single Post
ישן 04-04-11, 18:56   # 8
gillllll
חבר מתקדם
 
מיני פרופיל
תאריך הצטרפות: Nov 2005
הודעות: 363

gillllll לא מחובר  

איזה מבעסת השאילתה זו!
טוב עדכון, יגאל ניסיתי את הפונקציה הזו למשל ... (אפילו טרחתי להכניס זמן )

select * from articles as s where s.sendtime > DATEADD(day, -7, '2010-10-21 15:12:09')

שימוש ב dateadd עושה בעיות ומציג את אותה שגיאה ארורה.... שוב כנראה שאולי זה בגלל ש dateadd לא יודע לעבוד עם שדה מסוג timestamp או עם ערכי NULL בשדות שאמורים להחזיק DATE...
אני שוקל באמת להוסיף זמן ישן לכל הכתבות שיש בהן בתאריך NULL למרות שלא מתחשק לי כל כך למלא את הדטה בייס בזבל. וגם בגלל שהפונקציה between דווקא כן עושה משהו אני לא יודע בדיוק מה אבל לפחות היא לא מחזירה הודעת שגיאה.

בלו - ניסיתי לרשום את השאילתה עם המידע שלך לגבי השניות ואפילו סתם תקעתי מספר ארוך פעם אחרת - עדין זה מחזיר 0 רשומות .... ד"א היה חסר לך שם עוד כפול 60 כך שכמעט פספסתי את הפתרון המוזר שרשמתי עליו בהמשך בגלל זה
select * from articles as s where (s.sendtime between CURRENT_TIMESTAMP() and CURRENT_TIMESTAMP()-60*60*60*24*7)

עדכון:
אבל הפתרון נמצא
- ותודה לכולם כל אחד כאן תרם פיסות מידע שהובילו בסוף לפתרון דיי מוזר שככל הנראה נבע מה BETWEEN
מסתבר שלרשום כך עובד:
select * from articles as s where s.sendtime< CURRENT_TIMESTAMP() and s.sendtime>CURRENT_TIMESTAMP()-60*60*60*24*7

מוזר כבר אמרתי?
__________________
- חייך הכל לטובה .
  Reply With Quote