当前位置: 首页 > 面试题库 >

SQL Server中两个日期之间的月份差异

裴俊豪
2023-03-14
问题内容

请参考以下示例,并请告诉我您的想法。

declare @EmployeeStartDate datetime='01-Sep-2013'
declare @EmployeeEndDate datetime='15-Nov-2013'
select DateDiff(mm,@EmployeeStartDate, DateAdd(mm, 1,@EmployeeEndDate))

输出=3 预期输出=2.5

由于我在十一月只有15天,所以我应该去0.5十一月


问题答案:

试试这个

SELECT CASE WHEN DATEDIFF(d,'2013-09-01', '2013-11-15')>30 THEN DATEDIFF(d,'2013-09-01', '2013-11-15')/30.0 ELSE 0 END AS 'MonthDifference'

或者

SELECT DATEDIFF(DAY, '2013-09-01', '2013-11-15') / 30.436875E


 类似资料:
  • 问题内容: 如何计算JavaScript中两个Date()对象的差异,而只返回差异中的月数? 任何帮助将是巨大的:) 问题答案: “差异中的月数”的定义要经过很多解释。:-) 您可以从JavaScript日期对象获取年,月和日。根据您要查找的信息,可以使用这些信息来计算两个时间点之间有多少个月。 例如,现成的,它找出两个日期之间有多少 整月 ,而不计算部分月份(例如,不包括每个日期所在的月份):

  • 问题内容: 我想计算两个日期时间字段之间的月份数。 有没有比获得unix时间戳和除以2592 000(秒)并在MySQL中四舍五入更好的方法了? 问题答案: 该DATEDIFF功能可以给你的天数两个日期之间。由于…您如何定义一个月,哪个更准确?(28、29、30或31天?)

  • 我已经搜索了4个小时了,但是还没有找到一个用JavaScript计算两个日期(年、月和天)之间差异的解决方案,比如:2010年4月10日是3年、x月和y天之前。 有很多解决方案,但它们只提供了日、月或年的格式差异,或者它们不正确(意味着没有考虑一个月或闰年的实际天数,等等)。做那件事真的有那么难吗? 我看了一下: http://momentjs.com/->只能输出年、月或天的差异 http://

  • 问题内容: 我有以下代码可以成功获取两天之间的差异(以天,小时,分钟,秒为单位): 但是,当日期跨入另一个月份时,这将不起作用,例如: 是否可以智能地跨越几个月并获得准确的时差?我对Joda熟悉,但是我想坚持使用标准Java API,除非没有Joda这样的东西是不可能的。 问题答案: 您正在使用 应该 您会得到正确的结果 这是日期模式的javadoc。是每月的一天。是一年中的一天。您的对象只是没有

  • 问题内容: 我有两个约会: 开始日期: 结束日期: 在上述两个日期之间的91天持续时间,我希望我的代码返回3个月的持续时间,但以下方法仅返回2个月。有谁有更好的建议?还是你们认为这是Java 8中的错误?工期为91天,仅返回2个月。 非常感谢你的帮助。 方法1: 方法2: 方法3: 我尝试使用Joda库而不是Java 8 API,它可以工作。它会返回3,它看起来像Java持续时间月份的计算也使用了

  • 请注意,这不是以下任何一个的复制品 计算两个Java日期实例之间的差异 用java计算两个日期之间的月份[重复] 我有两个约会: 开始日期: 它的91天持续时间之间的上述两个日期,我期望我的代码返回3个月的持续时间,但下面的方法只返回2个月。有人有更好的建议吗?还是你们认为这是8Java的窃听器?91天的期限只返回2个月。 非常感谢你的帮助。 方法1: 方法二: 方法3: 我尝试使用Joda库而不