驗證nvarchar(max)的長度
來源:程序員人生 發布時間:2014-03-11 04:12:58 閱讀次數:2816次
今天有同事使用:sp_executesql 出現問題,雖然使用了參數nvarchar(max)但依舊提示被截斷參數,于是懷疑使用了nvarchar(max)的長度有問題,協助解決,順便驗證了一下max的值問題。
網上很多無人子弟的信息說max==8000
得出varchar(max)=varchar(8000)之說驗證語句如下:
declare @t nvarchar(max)
set @t=replicate('1',9000) --這里限定產生的基數內容‘1’是varchar的8000
print len(@t) --這里得出的結果是錯誤的
set @t=replicate(convert(varchar(max),'1'),90000)
--這里強制內容為varchar(max),可以識別到max是可以達到2G的
print len(@t)
順便登記一下,
sp_executesql的參數:
1、類型必須是:nvarchar;
2、并且有長度8000限制的(帶中文就4000了)。
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈