日期:2014-05-18  浏览次数:20601 次

为什么用EXEC ()写法,就不能读出今天所有的帖子呢??


为什么用EXEC   ()写法,就不能读出今天所有的帖子呢??

declare   @val   nvarchar(200)
set   @val   =   '2007-5-10 '
declare   @SQL   nvarchar(1000)
set   @Sql   =   'SELECT   *   FROM   article   where   DateDiff(dd,AddTime,Convert(DATETIME, '+@val+ '))   =   0 '
exec   (@Sql)


直接用SQL语句写,可以读,但是写成   字符串   在用EXEC   就不行了,能解释一下吗?

------解决方案--------------------
--动态SQL中用两个单引号表示一个

set @Sql = 'SELECT * FROM article where DateDiff(dd,AddTime,Convert(DATETIME, ' ' '+@val+ ' ' ')) = 0 '