Oracle Sql根据日期范围每天拆分并计算总小时数[重复]

gg58donl  于 2023-02-18  发布在  Oracle
关注(0)|答案(1)|浏览(173)
    • 此问题在此处已有答案**:

ORACLE SQL: Fill in missing dates(3个答案)
In Oracle, find the next specific date(3个答案)
Create ranges of minutes (15) in select(2个答案)
Issue in creating oracle function(2个答案)
昨天关门了。
我想通过输入开始日期和结束日期生成此结果。例如,开始日期为2/6/2023 6:00,结束日期为2/8/2023 7:40,它应输出以下内容

q3qa4bjr

q3qa4bjr1#

它是关于一个 * 行生成器 *。
(设置日期格式,使其与您的日期格式匹配;你不需要这样做)

SQL> alter session set nls_date_format = 'mm/dd/yyyy hh24:mi';

Session altered.

testCTE包含初始值(你输入的值,通过绑定变量,替换变量,等等);我选择了CTE)。
我不知道1.67是从哪里来的(在你的截图上),所以我没有显示它。如果它是一个 * 常量 *,没问题。如果不是,那它是什么?

SQL> with test (start_date, end_date) as
  2    (select to_date('02/06/2023 06:00', 'mm/dd/yyyy hh24:mi'),
  3            to_date('02/08/2023 07:40', 'mm/dd/yyyy hh24:mi')
  4     from dual
  5    )
  6  select start_date + level - 1 start_value,
  7         trunc(start_date) + level - 1 + (end_date - trunc(end_date)) end_value
  8  from test
  9  connect by level <= end_date - start_date + 1;

START_VALUE      END_VALUE
---------------- ----------------
02/06/2023 06:00 02/06/2023 07:40
02/07/2023 06:00 02/07/2023 07:40
02/08/2023 06:00 02/08/2023 07:40

SQL>

相关问题