VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1270|回复: 5

这么简单的语句写不来,郁闷中

[复制链接]

1

主题

3

帖子

3.00

积分

新手上路

Rank: 1

积分
3.00
发表于 2020-12-16 14:30:01 | 显示全部楼层 |阅读模式
declare @pagesize varchar(10)-----显示每页数据的大小
declare @pageindex varchar(20)-----当前索引页
declare @testtime datetime -------建立测试时间
select @pagesize=10,@pageindex=9000,@testtime=getdate()

declare @sql nvarchar(1000)
set @sql='select  top  '+@pagesize+'  *,datediff(ms,'+cast(@testtime as varchar(30))+',getdate())  from  #testtable   where tid not in (select top  '+cast(@pagesize * (@pageindex-1) as varchar(30))+'  a.tid  from  #testtable   a  order by a.tid desc) order by tid desc'
exec (@sql)
---------------------------------------------------------------
我去掉datediff(ms,'+cast(@testtime as varchar(30))+',getdate())这句就没事,我想把查询用时统计出来,怎么写啊??注意查询用时可能会非常小!!
回复

使用道具 举报

0

主题

48

帖子

30.00

积分

新手上路

Rank: 1

积分
30.00
发表于 2020-12-16 14:45:01 | 显示全部楼层
datediff(ms,'''+cast(@testtime as varchar(30))+''',getdate())
回复

使用道具 举报

1

主题

3

帖子

3.00

积分

新手上路

Rank: 1

积分
3.00
 楼主| 发表于 2020-12-16 15:00:01 | 显示全部楼层
还真的可以呢,不明白??为什么要加上''?????
回复

使用道具 举报

1

主题

23

帖子

18.00

积分

新手上路

Rank: 1

积分
18.00
发表于 2020-12-16 15:15:01 | 显示全部楼层
试试:
set @sql='select  top  '+@pagesize+'  *,datediff(ms,'''+cast(@testtime as varchar(30))+''',getdate())  from  #testtable   where tid not in (select top  '+cast(@pagesize * (@pageindex-1) as varchar(30))+'  a.tid  from  #testtable   a  order by a.tid desc) order by tid desc'
回复

使用道具 举报

0

主题

8

帖子

6.00

积分

新手上路

Rank: 1

积分
6.00
发表于 2020-12-16 15:30:01 | 显示全部楼层
要用引号引起来
因为你传进来的是个时间字符串,是字符串一定要加单引号撒
回复

使用道具 举报

1

主题

23

帖子

18.00

积分

新手上路

Rank: 1

积分
18.00
发表于 2020-12-16 15:45:01 | 显示全部楼层
select  top  10  *,datediff(ms,01  6 2017  1:14PM,getdate())  from  #testtable   where tid not in (select top  89990  a.tid  from  #testtable   a  order by a.tid desc) order by tid desc

取出你的SQL分析一下,datediff(ms,01  6 2017  1:14PM,getdate()),中间少了两个单引号,所以要加上单引号,而在动态语句中,两个单引号代替一个单引号
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表