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

计算DB2中两个日期之间有多少天?

白祺然
2023-03-14
问题内容

我需要弄清楚DB2中两个日期之间的天数差异。我尝试了几个不同的查询,但似乎没有任何效果。所以基本上我需要得到的是这样的东西。

 SELECT DAYS (CURRENT DATE) - DAYS (DATE(CHDLM)) FROM CHCART00 WHERE CHSTAT = '05';

我知道,如果我删除CHDLM并指定一个类似于“
2012-02-20”的日期,则它可以工作,但是我需要能够针对表中的该字段运行该日期。我也尝试了一个由朋友给我的查询,该查询也不起作用。

 select days (current date) - days (date(select concat(concat(concat(concat(left(a2.chdlm,4),'-'),substr(a2.chdlm,4,2)),'-'),right(a2.chdlm,2))) from sysibm.sysdummy1 a1, chcart00 a2 where chstat = '05';

请任何帮助将不胜感激。谢谢


问题答案:

我认为@Siva处于正确的轨道(使用DAYS()),但是嵌套的CONCAT()s使我感到头晕。这是我的看法。
哦,引用毫无意义sysdummy1,因为无论如何您都需要从表中拉出。
另外,请勿使用隐式联接语法-它被视为SQL反模式。

为了便于阅读,我将日期转换包装在CTE中,但是没有什么可以阻止您进行内联处理。

WITH Converted (convertedDate) as (SELECT DATE(SUBSTR(chdlm, 1, 4) || '-' ||
                                               SUBSTR(chdlm, 5, 2) || '-' ||    
                                               SUBSTR(chdlm, 7, 2))
                                   FROM Chcart00
                                   WHERE chstat = '05')

SELECT DAYS(CURRENT_DATE) - DAYS(convertedDate)
FROM Converted


 类似资料:
  • 本文向大家介绍SQL语句计算两个日期之间有多少个工作日的方法,包括了SQL语句计算两个日期之间有多少个工作日的方法的使用技巧和注意事项,需要的朋友参考一下 /* 因为工作中一个奇怪的需求,要用SQL语言计算两个日期间有多少个工作日。 设定是一个星期有5个工作日,从星期一到星期五 说明:   第一个星期的工作日数:DATEPART(dw, @begdt)-DATEPART(dw, @begdt),最

  • 问题内容: 我正在计算用于报告的租赁设备的收入。因此,与正常工作日相比,周末工作日的雇用成本将增加10%。因此,我该如何计算两个日期之间有多少个周末。在报表查询中,我也不能使用DECLARE。有人可以帮我做到这一点。太感谢了 问题答案: 这应该工作: http://sqlfiddle.com/#!3/d41d8/5707/0

  • 问题内容: 如何计算SQL Server中两个日期之间的工作日数? 星期一至星期五,它必须是T-SQL。 问题答案: 对于周一至周五的工作日,您可以使用单个SELECT进行操作,如下所示: 如果要包括假期,则必须进行一些调整…

  • 我试图在我正在创建的C#应用程序中显示两个日期之间的年、月和日。(使用控制台进行测试) 我正在使用NodaTime来实现这一点,但在接下来的几个月里,我遇到了一些问题。 我已经阅读了这里的大部分问题和答案,但没有找到任何我可以从中受益的东西。 大多数时候函数工作但有时它不添加月如果天 我使用这个代码进行测试 (2017, 10, 16)和(2018, 1, 15)应该显示为3个月,但它们显示为2个

  • 我需要计算JPA中2个日期之间的天数。 例如: 到目前为止,我试着: 你会怎么做?

  • 问题内容: 我编写了以下代码来查找两个日期之间的日期 当开始日期和结束日期分别是2/3/2017和3/3/2017时,显示的天数是29.尽管它们是同一天,但显示的是1.(请假的天数。如果请假一天,他必须选择相同的开始日期和结束日期。因此,在这种情况下,他请了两天假。 我究竟做错了什么?感谢您的时间。 注意:请不要使用日期构造函数。检查下面接受的答案。使用simpledateformat或Joda时