判斷從一個日期到另一個日期一共多少個小時?怎麼做?

才子鸣 2006-11-29 03:39:08
如題:判斷從一個日期到另一個日期一共多少個小時

比如:從2006/11/27 13:34 到2006/11/30 15:38一共經過了多少小時。
...全文
219 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
fcuandy 2006-11-29
  • 打赏
  • 举报
回复
datediff(hh,...
angel2a 2006-11-29
  • 打赏
  • 举报
回复
select datediff(hh,一个日期,另一个日期)
marco08 2006-11-29
  • 打赏
  • 举报
回复
declare @dt1 datetime, @dt2 datetime
select @dt1='2006/11/27 13:34', @dt2='2006/11/30 15:38'
select datediff(hour, @dt1, @dt2)
dawugui 2006-11-29
  • 打赏
  • 举报
回复
select datediff(hh,'2006/11/27 13:34','2006/11/30 15:38')

小时
-----------
74

(所影响的行数为 1 行)


如果不满一个小时则不计的话
select datediff(minute,'2006/11/27 13:34','2006/11/30 15:33') /60 as 小时

小时
-----------
73

(所影响的行数为 1 行)
playwarcraft 2006-11-29
  • 打赏
  • 举报
回复
DATEDIFF
傳回跨越兩個指定日期的日期與時間界線數目。

語法
DATEDIFF ( datepart , startdate , enddate )

引數
datepart

是指定要以日期的那一個部份要用來計算差異的參數。下表列出 Microsoft® SQL Server™ 所能辨識的日期部份與縮寫。

Datepart 縮寫
-----------------
Year yy, yyyy
quarter qq, q
Month mm, m
dayofyear dy, y
Day dd, d
Week wk, ww
Hour hh
minute mi, n
second ss, s
millisecond 微秒


startdate

是計算的開始日期。startdate 是一個傳回 datetime 或 smalldatetime 值的運算式,或是一個使用日期格式的字元字串。

由於 smalldatetime 的精確度只有到分鐘,因此若使用 smalldatetime 值,則秒和毫秒部份必為 0。

如果只指定年份的後面兩位數字,那麼小於或等於 two digit year cutoff 組態選項值最後兩位數字的值,會與截止年份位於相同世紀。大於此選項值最後兩位數字的值,其世紀為截止年份的前一個世紀。例如,若 two digit year cutoff 為 2049 (預設值),那麼 49 會被視為 2049,2050 則會被視為 1950。為了避免發生混淆,請使用四位數字的年份。

如需關於指定時間值的詳細資訊,請參閱時間格式。如需關於指定日期的詳細資訊,請參閱 datetime 與 smalldatetime。

enddate

是計算的結束日期。enddate 是一個傳回 datetime 或 smalldatetime 值的運算式,或是一個使用日期格式的字元字串。

傳回型別
integer

備註
startdate 是自 enddate 減去而得。如果 startdate 的日期晚於 enddate,則傳回負數值。

如果結果超出整數值的範圍,DATEDIFF 便會產生錯誤。毫秒的最大值是 24 天,20 小時,31 分鐘又 23.647 秒。秒的最大值是 68 年。

計算跨越界限 (如分、秒及毫秒) 的方法,可讓 DATEDIFF 所產生的結果無論在何種資料型別中均一致。結果是一個加有正負號的整數值,等於跨越第一和第二個日期的 datepart 界限之數目。例如,介於一月四日星期日和一月十一日星期日的週數是 1。

範例
這個範例決定了現行日期和 pubs 資料庫中標題的發行日之間的差異。

USE pubs
GO
SELECT DATEDIFF(day, pubdate, getdate()) AS no_of_days
FROM titles
GO

dawugui 2006-11-29
  • 打赏
  • 举报
回复
select datediff(hh,'2006/11/27 13:34','2006/11/30 15:38')

小时
-----------
74

(所影响的行数为 1 行)
dawugui 2006-11-29
  • 打赏
  • 举报
回复
select datediff(hh,一个日期,另一个日期)
子陌红尘 2006-11-29
  • 打赏
  • 举报
回复
select datediff(mi,'2006/11/27 13:34','2006/11/30 15:38')/60
子陌红尘 2006-11-29
  • 打赏
  • 举报
回复
select datediff(hh,'2006/11/27 13:34','2006/11/30 15:38')

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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