读书人

小弟我定义@SQL nvarchar(4000),无论如

发布时间: 2012-01-24 23:11:55 作者: rapoo

我定义@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

SQL code
 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

读书人网 >SQL Server

热点推荐