我在SQL SERVER中获取日期的计数有点麻烦。我需要包含两个日期开始日期和结束日期之间的日历天数。用下面的例子的问题是,它总是返回10时,我认为它应该是11DATEADD与部分日期
DECLARE @FROM DATETIME, @TO DATETIME
SET @FROM = '18/12/2011 00:00:00'
SET @TO = '28/12/2011 00:00:00'
SELECT
DATEDIFF(MINUTE,@FROM,@TO), -- Returns 14459
DATEDIFF(HOUR,@FROM,@TO), -- Returns 241
DATEDIFF(DAY,@FROM,@TO), -- Returns 10
CEILING(CAST((DATEDIFF(HOUR,@FROM,@TO)/24) as DECIMAL(9,5))) --Returns 10
CEILING(CAST(CEILING(CEILING(CAST(DATEDIFF(SECOND,@FROM,@TO) as DECIMAL(18,5)))/60)/60 as DECIMAL(9,5))/24) --Returns 10
如果有时间之间至少保持1秒钟,但我必须考虑所有方案的底线工作。
我唯一的想法是简单地将日期差异添加到部分日期帐户中?这可靠吗?
DATEDIFF(DAY,@FROM,@TO) + 1
我碰上了回答这个问题How to find the total between the dates for each values
感谢大家的回答; upvote for everyone :) – 2012-01-29 00:40:56