如何比较两个日期来查找SQL Server 2005中的时差,日期操作 [英] How to compare two dates to find time difference in SQL Server 2005, date manipulation

查看:116
本文介绍了如何比较两个日期来查找SQL Server 2005中的时差,日期操作的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有两列:

  job_start job_end 
2011-11-02 12:20:37.247 2011- 11-02 13:35:14.613

如何使用T-SQL找到原始的工作开始和工作结束之间已经过去的时间?



我尝试过:

  select(job_end  -  job_start)from tableA 

但最终这样:

  1900-01-01 01:14:37.367 
pre>

解决方案

看看 DateDiff() 功能。

   - 语法
- DATEDIFF(datepart,startdate,enddate)

- 使用示例
SELECT DATEDIFF (DAY,GETDATE(),GETDATE()+ 1)AS DayDiff
SELECT DATEDIFF(MINUTE,GETDATE(),GETDATE()+ 1)AS MinuteD iff
SELECT DATEDIFF(SECOND,GETDATE(),GETDATE()+ 1)AS SecondDiff
SELECT DATEDIFF(WEEK,GETDATE(),GETDATE()+ 1)AS WeekDiff
SELECT DATEDIFF HOUR,GETDATE(),GETDATE()+ 1)AS HourDiff
...

您可以看到它在行动/ 在这里播放


I have two columns:

job_start                         job_end
2011-11-02 12:20:37.247           2011-11-02 13:35:14.613

How would it be possible using T-SQL to find the raw amount of time that has passed between when the job started and when the job ended?

I tried this:

select    (job_end - job_start) from tableA

but ended up with this:

1900-01-01 01:14:37.367

解决方案

Take a look at the DateDiff() function.

-- Syntax
-- DATEDIFF ( datepart , startdate , enddate )

-- Example usage
SELECT DATEDIFF(DAY, GETDATE(), GETDATE() + 1) AS DayDiff
SELECT DATEDIFF(MINUTE, GETDATE(), GETDATE() + 1) AS MinuteDiff
SELECT DATEDIFF(SECOND, GETDATE(), GETDATE() + 1) AS SecondDiff
SELECT DATEDIFF(WEEK, GETDATE(), GETDATE() + 1) AS WeekDiff
SELECT DATEDIFF(HOUR, GETDATE(), GETDATE() + 1) AS HourDiff
...

You can see it in action / play with it here

这篇关于如何比较两个日期来查找SQL Server 2005中的时差,日期操作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆