4
我有两个日期值:08/6/2009 00:00:00
和10/6/2009 23:59:59
。如何在SQL Server 2005中减去两个日期时间值的小时数
如何在SQL Server 2005的查询中获得小时数的差异?
我有两个日期值:08/6/2009 00:00:00
和10/6/2009 23:59:59
。如何在SQL Server 2005中减去两个日期时间值的小时数
如何在SQL Server 2005的查询中获得小时数的差异?
SELECT DATEDIFF(hour, '2009-08-06 00:00:00', '2009-10-06 23:59:59')
---
71
DATEDIFF(HOUR,'08/6/2009 00:00:00','10/6/2009 23:59:59')
你的标题是有点误导。您是否在问如何使用T-SQL for SQL Server 2005计算以小时为单位的时间跨度? – noesgard 2009-08-06 11:24:44
嗨,我不完全了解你,但如果你想得到的差异作为小时,你可以使用DATEDIFF()来获得差异,然后得到它作为小时,但得到天使用DATEPART()和第24天的数字24得到它作为小时 最好的Regads,Iordan – IordanTanev 2009-08-06 11:26:17
因为看起来MS SQL Server不支持SQL标准的INTERVAL类型,也没有任何对它们的近似,所以我提出的基于这些解决方案的任何解决方案都是有限的价值。在支持标准间隔的情况下,答案或多或少不重要:CAST((d2-d1)间隔小时(9))。你可能需要拉一些投射特技才能将其转换为普通数字而不是INTERVAL ......在我使用的一个系统中,这意味着将其转换为char,然后转换为INTEGER。 – 2009-08-06 11:33:28