Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在SQLServer2005中从两个日期时间值中减去小时数_Sql_Sql Server 2005 - Fatal编程技术网

如何在SQLServer2005中从两个日期时间值中减去小时数

如何在SQLServer2005中从两个日期时间值中减去小时数,sql,sql-server-2005,Sql,Sql Server 2005,我有两个日期值:08/6/2009 00:00:00和10/6/2009 23:59:59 如何在SQL Server 2005中获得查询小时数的差异?您的标题有些误导。您是在问如何使用T-SQL for SQL Server 2005计算时间跨度(以小时为单位)?您好,我不完全理解您的意思,但如果您想将时间差作为小时,可以使用DATEDIFF()获得时间差,然后使用DATEPART()获得时间,然后使用DATEPART()获得天数,并将日数乘以24以获得最佳小时数,但是,由于MS SQL Se

我有两个日期值:
08/6/2009 00:00:00
10/6/2009 23:59:59


如何在SQL Server 2005中获得查询小时数的差异?

您的标题有些误导。您是在问如何使用T-SQL for SQL Server 2005计算时间跨度(以小时为单位)?您好,我不完全理解您的意思,但如果您想将时间差作为小时,可以使用DATEDIFF()获得时间差,然后使用DATEPART()获得时间,然后使用DATEPART()获得天数,并将日数乘以24以获得最佳小时数,但是,由于MS SQL Server似乎不支持SQL标准间隔类型,也不支持它们的任何近似值,因此我基于这些类型提出的任何解决方案的价值都是有限的。在支持标准时间间隔的情况下,答案或多或少是无关紧要的:CAST((d2-d1)作为间隔小时(9))。你可能需要更多的施放特技来获得一个普通的数字,而不是一个间隔…在我使用的一个系统中,这意味着施放到char,然后到INTEGER。
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')