我定义@SQL nvarchar(4000),无论怎么set @Sql内容,@Sql的长度始终不超过127.急啊!!在线等待.
在存储过程中
delcare @SQL Varchar(4000);
Set @SQL = 'Select '+@Condition; --condition长度不超过300
EXEC sp_executesql @SQL
我单步跟踪. @SQL的长度总是127,自动给我把剩下的内容截断了.
[解决办法]
declare!!
varchar 改为 nvarchar
declare @Condition nvarchar(300) declare @SQL nvarchar(4000); Set @SQL = 'Select '+@Condition; --condition长度不超过300 print len(@SQL) EXEC sp_executesql @SQL
[解决办法]
笔误吧,如果是delcare,根本不会执行批,何来单步跟踪?
[解决办法]
--是显示问题,实际数据没有问题。
--如果你的SQL语句能正常执行,更能说明是这个问题。
/*
-->打开查询分析器
-->工具菜单
-->选项
-->选择“结果”选项卡,设置“每列最多字符数”,假设设置为40
如下:
*/
declare @sql varchar(8000)
set @sql = '1234567890-1-1234567890-2-1234567890-3-1234567890-4-1234567890'
--这里只会显示前40格字符
select @sql
--但print会打印出所有字符
print @sql