Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/81.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
如何计算自定义时间(如上午8:30到下午18:00)之间的天数是一天oracle sql查询_Sql_Oracle_Datetime_Oracle11g_Count - Fatal编程技术网

如何计算自定义时间(如上午8:30到下午18:00)之间的天数是一天oracle sql查询

如何计算自定义时间(如上午8:30到下午18:00)之间的天数是一天oracle sql查询,sql,oracle,datetime,oracle11g,count,Sql,Oracle,Datetime,Oracle11g,Count,有谁能帮我查询oracle两个日期之间的日期吗?提交记录后只计算8:30到6:00的下午 如果在上午8:30到下午6:00之间提交记录,则计一天。如果在下午6:00后提交记录,则将在下一天进行记录 如果在下午6:00后提交记录,将在接下来的几天内记录: 如果要按天计算日期,从前一天的18:00开始计算到当天的18:00,则只需在截断日期之前加上6小时减1秒,然后按该日期分组: 选择TRUNC(日期列+间隔“5:59:59”小时到秒)作为日期列, 计数(*) 从表\u名称 分组 TRUNC(日期列

有谁能帮我查询oracle两个日期之间的日期吗?提交记录后只计算8:30到6:00的下午

如果在上午8:30到下午6:00之间提交记录,则计一天。如果在下午6:00后提交记录,则将在下一天进行记录

如果在下午6:00后提交记录,将在接下来的几天内记录:

如果要按天计算日期,从前一天的18:00开始计算到当天的18:00,则只需在截断日期之前加上6小时减1秒,然后按该日期分组:

选择TRUNC(日期列+间隔“5:59:59”小时到秒)作为日期列,
计数(*)
从表\u名称
分组
TRUNC(日期列+间隔“5:59:59”小时到秒)
订购人
日期栏;
其中,对于样本数据:

将表格名称(日期列)创建为
选择日期“2020-01-01”+级别*间隔“1”小时
来自双重

按级别连接您可以尝试使用
案例
:如果日期列被称为
基准
(如我的示例中所示),并且其时间在18:00(即下午6点)之后,则将其设置为“明天上午10点”(以便适合第二天)。否则,以“今天”的日期为准。大概是这样的:

with data as
  (select t.*,
          case when to_char(t.datum, 'hh24mi') > '1800' then trunc(t.datum + 1) + 10/24
               else t.datum
          end datum
   from your_table t
  )
select trunc(d.datum) datum,
       count(*)
from data d
group by trunc(d.datum)

18:00:01
18:00:00
之后,但在
19:00:00
之前,它不会移动到第二天。对!谢谢你,修好了。
with data as
  (select t.*,
          case when to_char(t.datum, 'hh24mi') > '1800' then trunc(t.datum + 1) + 10/24
               else t.datum
          end datum
   from your_table t
  )
select trunc(d.datum) datum,
       count(*)
from data d
group by trunc(d.datum)