两个时间的间隔,不能以秒计算的问题。

木易随风 2011-02-19 04:33:38
我想计算两个时间的间隔秒数。可不是一秒一秒的递增,而是以一分钟递增60.不满一分的话是0.
是不是因为Getdate()得到的结果是02 19 2011 4:29PM这个形式的原因呢。
[code=SQ]
DECLARE @DATE1 VARCHAR(20)
SET @DATE1=GETDATE()
SELECT @DATE1=CONVERT(VARCHAR(20),@DATE1,21)
print @date1
PRINT Datediff(s,'2011-2-19 16:33:30',@date1)
/**
02 19 2011 4:33PM
60
**/
[/code]
...全文
79 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
feixianxxx 2011-02-19
  • 打赏
  • 举报
回复
DECLARE @DATE1 VARCHAR(20)
SET @DATE1=GETDATE()
SELECT @DATE1=CONVERT(VARCHAR(20),@DATE1,21)
print @date1
PRINT Datediff(s,'2011-2-19 16:33:30',@date1)

===>
蛋疼的你....
你一开始定义字符类型就是个错误....
后面还去转换成字符....
直接

[code=SQ]DECLARE @DATE1 datetime
SET @DATE1=GETDATE()
PRINT Datediff(s,'2011-2-19 16:33:30',@date1) [/code]
Rotel-刘志东 2011-02-19
  • 打赏
  • 举报
回复
[code=SQ]DECLARE @DATE1 datetime
SET @DATE1=GETDATE()
SELECT @DATE1=CONVERT(VARCHAR(20),@DATE1,21)
print @date1
PRINT Datediff(ss,'2011-2-19 16:33:30',@date1) [/code]
打一壶酱油 2011-02-19
  • 打赏
  • 举报
回复
嗯,好,人齐结贴
叶子 2011-02-19
  • 打赏
  • 举报
回复
SELECT @DATE1=CONVERT(VARCHAR(20),@DATE1,21) --21改成120格式就变了。
dawugui 2011-02-19
  • 打赏
  • 举报
回复
[Quote=引用楼主 shuchong1983 的回复:]
我想计算两个时间的间隔秒数。可不是一秒一秒的递增,而是以一分钟递增60.不满一分的话是0.
是不是因为Getdate()得到的结果是02 19 2011 4:29PM这个形式的原因呢。
[code=S]
DECLARE @DATE1 VARCHAR(20)
SET @DATE1=GETDATE()
SELECT @DATE1=CONVERT(VARCHAR(20),@DATE1,21)……
[/Quote]
你这个需求,把分钟数求出来后乘以60即可.
datediff(mi,dt1,dt2) * 60
insus 2011-02-19
  • 打赏
  • 举报
回复
以前曾做过相似的例子:
http://www.cnblogs.com/insus/articles/1937683.html
-晴天 2011-02-19
  • 打赏
  • 举报
回复
select datediff(s,'2011-02-11 15:32:15','2011-02-11 15:33:10')/60*60
select datediff(s,'2011-02-11 15:32:15','2011-02-11 15:35:18')/60*60
/*
-----------
0

(1 行受影响)


-----------
180

(1 行受影响)

*/
快溜 2011-02-19
  • 打赏
  • 举报
回复
这么快就解决了,恭喜。
木易随风 2011-02-19
  • 打赏
  • 举报
回复
将@date1定义为datetime就可以了。
解决。

34,594

社区成员

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

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