REPLICATE
geeft het invoertype terug, ongeacht latere toewijzing. Het is vervelend, maar om stille inkorting te voorkomen, probeer:
SET @x = REPLICATE(CONVERT(VARCHAR(MAX), 'a'), 10000);
Dit komt omdat SQL Server de REPLICATE
. uitvoert bewerking voordat het overweegt waaraan u het toewijst of naar hoeveel tekens u het probeert uit te breiden. Het geeft alleen om de invoerexpressie om te bepalen wat het moet retourneren, en als de invoer geen max-type is, neemt het aan dat het bedoeld is om binnen 8.000 bytes te passen. Dit wordt uitgelegd in Online boeken
: