【问题标题】:Displaing all task with different hours for current day显示当天不同时间的所有任务
【发布时间】:2014-08-12 21:54:59
【问题描述】:

我有一个表,其中包含指定用户的任务。

这些列是:

TASK_ID
TASK_NAME
TIME_FROM
TIME_TO
USER_id

我想创建一个报告,显示当天的任务,按开始时间排序。

但我不知道如何在不比较小时数的情况下将任务天数与sysdate 进行比较。我想显示当天所有时间的报告任务。我该怎么做?

【问题讨论】:

    标签: sql oracle-apex


    【解决方案1】:

    假设“当天的任务”是指今天某个时间具有time_from 的任何任务,并且time_fromtime_to 都是date 数据类型

    SELECT *
      FROM your_table
     WHERE trunc(task_from) = trunc(sysdate)
     ORDER BY task_from
    

    trunc( <<date>> ) 在午夜返回 <<date>>。所以trunc(sysdate) 今天午夜返回。无论时间如何,对于其日期部分为今天的任何日期,trunc(task_from) 都将等于 trunc(sysdate)

    从性能的角度来看,trunc(task_from) 上的基于函数的索引可能是有益的。

    或者,如果 task_from 被编入索引,它可能对此有益

    SELECT *
      FROM your_table
     WHERE task_from >= trunc(sysdate)
       AND task_from <  trunc(sysdate+1)
     ORDER BY task_from
    

    以便 Oracle 可以对 task_from 进行索引扫描。

    【讨论】:

      猜你喜欢
      • 2016-11-18
      • 2020-07-10
      • 1970-01-01
      • 2023-03-06
      • 2016-10-10
      • 2018-01-14
      • 2013-11-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多