הרצתי את הפקודה הבאה ב-SQL 2005 וקיבלתי Null:
Select Right(Cast('abcd' As Varchar(Max)),0);
--
הרצתי ב-SQL 2008 וקיבלתי מחרוזת ריקה:
עם פונקציות המחרוזת האחרות (Left, Substring) או עם משתנים שאינם באורך Max – לא הייתה בעייה, וקיבלתי כצפוי מחרוזת ריקה (כלומר- מחרוזת באורך 0).
איך הגעתי לפינה המוזרה הזו? הקוד שפירסמתי בפוסט הקודם- נכתב ורץ במקור ב-2005, אך כשבדקתי במקרה ב-2008 התברר שאינו עובד נכון, ורק לאחר ניסוי וטעייה – עליתי על הסיבה לכך (מה שהתפרסם לבסוף – תקין ורץ בכל הסביבות).