这个动态SQL语句要怎么执行呢?有参数的

atwindmax 2006-05-12 01:23:33
这个动态SQL语句要怎么执行呢?有参数的

use Logs

declare @MaxUsers int
declare @Querydate datetime

set @MaxUsers = 11
set @Querydate = getdate() ----外部变量,临时赋值


Exec ('select top ' + @MaxUsers + ' UserName From [Logs]

where datediff(day, '+ @Querydate +' ,addTime)=0

')



where datediff(day, '+ @Querydate +' ,addTime)=0

如果改为where datediff(day, getdate() ,addTime)=0 就对了,但问题是,我这个@QueryDate是传入的日期呀!
...全文
166 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
viptiger 2006-05-12
  • 打赏
  • 举报
回复
声称语句结果
select top 11 UserName From [Logs]

where datediff(day, '2006-05-12' ,addTime)=0
viptiger 2006-05-12
  • 打赏
  • 举报
回复
declare @Querydate datetime
declare @MaxUsers int
set @MaxUsers = 11
set @Querydate = getdate() ----外部变量,临时赋值


print ('select top ' + cast(@MaxUsers as varchar(10)) + ' UserName From [Logs]

where datediff(day, '+ '''' + convert(varchar(10),@Querydate,120) +'''' +' ,addTime)=0

')



--where datediff(day, '+ @Querydate +' ,addTime)=0
xeqtr1982 2006-05-12
  • 打赏
  • 举报
回复
--这样呢?
use Logs

declare @MaxUsers int
declare @Querydate datetime

set @MaxUsers = 11
set @Querydate = getdate() ----外部变量,临时赋值


Exec ('select top ' + @MaxUsers + ' UserName From [Logs]

where datediff(day, '''+ @Querydate +''',addTime)=0

')
WangZWang 2006-05-12
  • 打赏
  • 举报
回复
Exec ('select top ' + @MaxUsers + ' UserName From [Logs]
where datediff(day, '''+ @Querydate +''',addTime)=0 ')

34,576

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧