SQL PRINTF
MSDN說明如下,
如果訊息字串不是 Unicode 字串,它的長度可以多達 8,000 個字元,,
如果它是 Unicode 字串,則可以多達 4,000 個字元。 較長字串會被截斷。
varchar(max) 和 nvarchar(max) 資料類型會被截斷為不大於 varchar(8000) 和 nvarchar(4000) 的資料類型。
所以PRINTF一次只能印出4000字,
超過4000字可以用串接的方式處理,
如下:
DECLARE @PRINTF_SQL NVARCHAR(MAX)
SET @PRINTF_SQL = N'select 1 from table'
WHILE LEN(@PRINTF_SQL) < 4000
BEGIN
SET @PRINTF_SQL = @PRINTF_SQL + CHAR(13) + N'union all select 1 from table'
END
自我LV~