dgyzlc 2017-11-09 16:13 采纳率: 0%
浏览 1393

 sql server存储过程中变量的问题

本人新手学习数据库,在编写程序时候遇到下面的问题,还请大神帮忙;
因为我要用到变量进行参数传递,所以用到了存储过程,
首先: 我实现了
```set @sql2 = 'select * from CG_INFO_ONE where MACHINE_NAME ='''+ @MacNo +''''
exec sp_executesql @sql2


然后在查询的表中还有一个时间列CHECKTIME,我还有一个时间变量t,找出和这个时间变量最近的两条数据,那么我认为应该写成这样的:
```set @sql2 = 'select top 2* from CG_INFO_ONE where MACHINE_NAME  ='''+ @MacNo +'‘’‘order by '+datediff(minute,@t,CHECKTIME)+'asc''
exec sp_executesql @sql2

现在的问题是,后面加的那个datediff里面有两个参数,一个是变量,一个是列名,就无法用字符串连接起来了,

求大神解决

  • 写回答

2条回答 默认 最新

  • XianRenShan 2017-11-10 01:13
    关注

    DATEDIFF() 函数返回两个日期之间的时间。不是用来连接字符串的

    评论

报告相同问题?