REPLICATE
बाद के असाइनमेंट के बावजूद इनपुट प्रकार देता है। यह कष्टप्रद है, लेकिन मौन काट-छाँट से बचने के लिए, प्रयास करें:
SET @x = REPLICATE(CONVERT(VARCHAR(MAX), 'a'), 10000);
ऐसा इसलिए है क्योंकि SQL सर्वर REPLICATE
करता है ऑपरेशन से पहले यह विचार करता है कि आप इसे क्या असाइन कर रहे हैं या आप इसे कितने वर्णों तक विस्तारित करने का प्रयास कर रहे हैं। यह केवल इनपुट अभिव्यक्ति की परवाह करता है यह निर्धारित करने के लिए कि इसे क्या वापस करना चाहिए, और यदि इनपुट अधिकतम प्रकार नहीं है, तो यह मानता है कि यह 8,000 बाइट्स के भीतर फिट होना है। इसे ऑनलाइन बुक्स
में समझाया गया है :