【发布时间】:2019-01-24 23:22:32
【问题描述】:
我正在尝试使用时间戳并从中处理数据,以便我可以测量数据库中的不同内容。
目前我有一列包含“DATE”,但实际上包含一个完整的标记 'DD/MM/YYYY HH24:MI:SS'
我希望能够获取“09:00”和“09:15”之间“DTIME”但无法正确转换的所有条目。
如果我要在不进行任何转换的情况下输出该列,它将如下所示
SELECT ia.DTIME3
FROM ISIS_AUDIT ia
WHERE ia.DTIME3 like to_date('24/01/2019', 'DD/MM/YYYY');
输出:19 年 1 月 24 日
如果我要将它转换为_char,
SELECT to_char(ia.DTIME3, 'DD/MM/YYYY HH24:MI:SS')
FROM ISIS_AUDIT ia
WHERE ia.DTIME3 like to_date('24/01/2019', 'DD/MM/YYYY');
输出:24/01/2019 07:10:52
我希望能够使用此 DTIME3 并查找时间之间的条目,但 CAST 和 CONVERT to TIME 不起作用。
这是我的工作选项,但它仍然输出日期,我不想指定日期,因此它可以在一周中的任何一天运行。
WHERE ia.DTIME3 between to_date('24/01/2019 09:00:00', 'DD/MM/YYYY HH24:MI:SS') and to_date('24/01/2019 09:15:00', 'DD/MM/YYYY HH24:MI:SS');
输出:24/01/2019 09:00:01
【问题讨论】:
-
between包括在内;您真的想准确地包含 09:15:00,还是实际上只包含 09:14:59.999...?后者看起来更有可能——这就是 GMB 使用extract的第二种方法将做的,因为<。
标签: sql database oracle date where-clause