שלח תשובה

זירת השאלות

627
צפיות
9
תשובות

אני סקרן לדעת

,‏ 21 בינואר, 2007

איך אני גורם למסד נתונים שלי להחזיר תוצאות דומות שאני מחפש תאריכים?
כלומר LIKE אבל לשדות של תאריכים..

תגיות:

9 תשובות

  1. זהר פלד הגיב:

    אפשר לפרק את התאריך לחלקים –
    אני אציג תחביר שמתאים ל sql servre , כי לא אמרת עם איזה מסד נתונים אתה עובד:


    SELECT Column
    FROM table
    WHERE YEAR(DateColumn) = YEAR(GetDate())

  2. RiU הגיב:

    תודה, יש פונקציה ב
    access או sql שמחזירה את הפורמט של התאריך ממשתנה ו/או משנה אותו?

  3. RiU הגיב:

    תודה, יש פונקציה ב
    access או sql שמחזירה את הפורמט של התאריך ממשתנה ו/או משנה אותו?

  4. RiU הגיב:

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


    sql="select * from myTable where inStr('" & dateSubmited & "',dateColumn)>-1"

    זה לא עובד לי..
    האם תוצאה שלילית ב inStr זה -1 או 0?
    האם צריך להמיר את ה dataColumn ל string כדי שזה יעבוד?
    ואם כן אז איך? לא מצאתי פונקציות ב sql שעושות את זה

    תודה על העזרה

  5. זהר פלד הגיב:

    ב sql server יש convert,
    באקסס בטח יש איזה dateTimeFormat, שנים שלא נגעתי באקסס, ככה שאני לא באמת זוכר…

  6. זהר פלד הגיב:

    Date ו String אלו שני דברים שונים..
    אתה לא יכול להשוות בינהם בלי להמיר את התאריך למחרוזת או את המחרוזת לתאריך.

    פונקציות ההמרה תלויות במסד הנתונים, באקסס זה cStr, ב sql server זה convert.

  7. RiU הגיב:

    כן זה מה שעשיתי אבל נתקלתי בבעיה
    אם הערך במסד הוא למשל: 21/01/07 אני יכול לחפש 07 וזה ימצא או 01 וזה יעבוד
    אבל אם אני ישים "/" בערך החיפוש זה לא ימצא כלום
    למה זה קורה?

  8. RiU הגיב:

    זאת השאילתא


    SELECT * from myTable
    WHERE inStr(IIf(IsDate([startDate]),CStr(Format([startDate],'dd/mm/yyyy hh:mm')),Null),CStr('" & submittedStr & "'))>0 ORDER BY myTable.startDate DESC

    אני לא בטוח לגבי הפונקציה Format..
    אלה הנתונים שאני אמור להזין?

שלח תשובה