קליטת תאריכים מתוך טקסט

יום שלישי, פברואר 8, 2011

בעבר כתבתי על כך שראוי שתאריכים יכתבו בצורה סטנדרטית, למשל התאריך של היום ראוי שיכתב בתור '20110208' כדי שלא יהיה ספק שמדובר בשמונה בפברואר ולא בשניים באוגוסט. אם לעומת זאת נכתוב '2010-02-08' בשפות שונות הוא יובן באופנים שונים, כאשר השפה היא בראש ובראשונה שפת ברירת המחדל של השרת, מעליה שפת ברירת המחדל של ה-Login (אם היא שונה מזו של השרת- היא גוברת עליה), ומעל כולם השפה שהגדרנו ל-Session שפתחנו (בדרך כלל כולן זהות לזו של השרת ואין כל בעייה). יחד עם זאת יש מקרים בהם התאריכים מתקבלים בצורה לא סטנדרטית, ו-SQL Server מגלה גמישות רבה בנכונותו לתרגם...
אין תגובות

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

יום רביעי, נובמבר 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 אותו פתחנו), ולכן התאריך הנ"ל מתפרש נכון בתור "שנים עשר בינואר אלפיים...