תנאי DateTime=Date

יום שלישי, אוקטובר 15, 2013

יש טבלה, בטבלה עמודת DateTime עם תאריכים לא שלמים (כוללים חלקי יממה), ואנחנו מחפשים את כל התאריכים בתוך יום מסויים. מה הדרך היעילה לעשות זאת? If Object_ID('tempdb..#Tmp','U') Is Not Null Drop Table #Tmp; Go   Select *, DateAdd(Millisecond,Cast(is_event_logged As Int),DateAdd(Second,severity,DateAdd(Minute,language_id,DateAdd(Month,message_id,0)))) Taarih Into #Tmp From sys.messages; Go   Create...
תגיות: , , , ,
אין תגובות

כתיבת תאריכים

יום רביעי, נובמבר 17, 2010

במקום העבודה שלי מקובל לכתוב תאריכים בשאילתות SQL בערך כך: Select * From MyTbl Where MyCol='2010-01-12'; Go הסיבה לכך כנראה היא שבשליפות מתוך טבלאות, התאריכים בעמודות מסוג DateTime מוצגים לרוב כך (כולל פירוט ברמת אלפיות השניה)- 2010-01-12 00:00:00.000 ..ואם כך ה-SQL Server, אין לנו אלא לדבר בשפתו כדי שיבין. פורמט הכתיבה הזה עובד בהצלחה רק במקרה: שפת ברירת המחדל של המערכת אצלנו וברובן המוחלט של ההתקנות בארץ היא US_English (הגדרת שפת ברירת המחדל של ה-Logins נקבעת לרוב על פי זו של השרת, וזו גם השפה של ה-Session אותו פתחנו), ולכן התאריך הנ"ל מתפרש נכון בתור "שנים עשר בינואר אלפיים...