varchar(max) length

varchar(max) length

נסיתי לשרשר מחרוזת ענקית על ידי select.
ומה שקרה שאחרי 50,000 תווים זה מפסיק לשרשר.
כמובן שאני משתמש ב-varchar(max). חשבתי אולי אם אני ייעשה אתזה בלולאה ולא ע"י סלקט זה כן יעבוד.
מה עושים.

מה שאני מריץ כרגע זה:
zzzzz SELECT @ParametersName += ','+''''+P.ParameterName+'''' zzzz
zz FROM [Params] P zzz
 

גרי רשף

New member
מה הכוונה "מפסיק לשרשר"?

הקוד הבא החזיר לי 96000 שזה 12*8000:
Declare @S Varchar(Max)=Replicate('*',8000);
Select @S=@S+@S+@S+@S+@S+@S+@S+@S+@S+@S+@S+@S;
Select Len(@S);
יש אולי מגבלת תצוגה ב-SSMS, אך לא מגבלת גודל.
 
תודה, מפסיק לשרשר התכוונתי

שהוא באיזה שלב לא מוסיף לי ההמשך, בכל אופן כך ייצא לי בתצוגה.
אבל לא חשבתי על הקטע של בעיית תצוגה. אני יבדוק את זה עם הפונקציה len.
ושוב תודה, הרגשתי שאני לא מבין מה קורה.
 
למעלה