[TSQL] SQL VARCHAR 長度限制

 正常我們在串SQL Script的時候,會需要用到很長的字串組合。

這時候就會不小心去踩到SQL Server Varchar長度的限制。


事實上,SQL Server的字串長度是可以設定成沒有限制的 VARCHAR(MAX)

但是當你用 + 去組合字串的時候,就會因為加入了一個非MAX的字串導致字串反而被限縮了。


解決方法也很簡單,在組合字串的時候加上前綴 N' 即可。


DECLARE @SQL NVARCHAR(MAX);
SET @SQL = 'Foo' + 'Bar' + ...;
調整成
DECLARE @SQL NVARCHAR(MAX) = ''; 
SET @SQL = @SQL + N'Foo' + N'Bar'
要印出SQL出來看就用這樣即可
select @SQL as [processing-instruction(x)] FOR XML PATH
Reference

留言

這個網誌中的熱門文章

[SQL Server] 強制 SQL Server DB 跳出 (Restoring…) 狀態