如何从日期和时间范围之间的表中获取数据

时间:2017-04-07 11:21:17

标签: oracle11g

我有一个PAYMENT_DET表,其字段为PAYMENT_DATE DATE,PAYMENT_TIME VARCHAR2,其数据如下所示,日期格式为MM / DD / YYYY

PAYMENT_DATE PAYMENT_TIME 2/13/2017 13:03:59 2/13/2017 14:03:59 2/14/2017 01:03:59 2/14/2017 04:03:00

我的要求是,我有两个输入日期,例如从时间日期和到时间日期。在给定的输入范围之间,我想从上表中获取详细信息。

请建议我查询。

1 个答案:

答案 0 :(得分:0)

一个非常简单的例子来帮助你。希望这会有所帮助。

SELECT *
FROM
  (SELECT 1 col1, '02/13/2017' col2, '13:03:59' col3 FROM dual
  UNION
  SELECT 2 col1, '02/13/2017' col2, '14:03:59' col3 FROM dual
  UNION
  SELECT 3 col1, '02/14/2017' col2, '01:03:59' col3 FROM dual
  )a
WHERE to_date(a.col2
  ||' '
  ||col3,'mM/dd/yyyy hh24:mi:ss') BETWEEN TO_DATE('01/01/2017 00:00:00','mm/dd/yyyy hh24:mi:ss') AND TO_DATE('01/01/2018 00:00:00','mm/dd/yyyy hh24:mi:ss');