Oracle 求一个月内每天 22:00 ~ 第二天早上06:00 之间的数据

135 阅读1分钟

一、需求

求出 Oracle 数据库表中一个月晚上 22:00 ~ 第二天早上06:00 之间的数据量。

二、解决办法

1、把时间改成标准格式,使用 to_date() 函数;

2、所有时间减去 6 小时,统一到同一天;

3、之后取到小时单位即可,使用 to_char() 函数。

代码如下:

TO_CHAR(TO_DATE(MYDATE||' '||MYTIME||':00','yyyy-mm-dd hh24:mi:ss') - 6/24, 'yyyy-mm-dd'MYDAY 

以上,问题解决。