我正在尝试执行一个在 t-sql 中有数千个字符的 sql 查询字符串。用于保存此查询的数据类型是 nvarchar(max)。但使用这个我只能容纳 67594 个字符。但我的查询有比这更多的字符。有人知道为什么 nvarchar(max) 最多只能容纳 67594 个字符吗?nvarchar(max) 最多可容纳 2GB 数据。不是吗?
我正在运行的程序是:
create procedure test
(
@snapshotid1 nvarchar(10),
@snapshotid2 nvarchar(10),
@version1 nvarchar(100),
@version2 nvarchar(100)
) AS DECLARE
@sql nvarchar(max),
@whereClause1 nvarchar(500),
@whereClause2 nvarchar(500),
@fromClause1 nvarchar(100),
@fromClause2 nvarchar(100)
BEGIN
set @sql = '';
set @sql = @sql + N'
select v1.v1_brand, version1total, version2total, version1total - version2total as varience from (
select "C - Brand" as v1_brand,
case ' + @period + ' when ''Jan'' then sum(Period1InvoicedAmount)
when ''Feb'' then
.
.
.
END
问候
苏巴什·阿马拉