在我的表格中,我有两列,即[p]ython != python
& RECEIVED_TIME
。
PROCESSES_DATE
是一个varchar列,其中包含RECEIVED_TIME
格式的时间,例如1430下午2:30。
HH24MI
是日期列,其中包含PROCESSED_DATE
格式的完整日期,例如5月23日下午4点40分,时间是2015年5月23日16:10:00。
现在我想找出处理日期超过30分钟的行与接收时间相比。
请帮我解决问题。
答案 0 :(得分:0)
嗯,只有一切都在同一天发生才有意义。例如:
`KeyStore.entryInstanceOf(alias , KeyStore.PrivateKeyEntry.class)`
如果我们将RECEIVED_TIME转换为DATE数据类型,我们得到:
SQL> create table test
2 (received_time varchar2(20),
3 processes_date date);
Table created.
SQL> insert into test values
2 ('1430', to_date('23.05.2018 16:10:00', 'dd.mm.yyyy hh24:mi:ss'));
1 row created.
SQL> insert into test values
2 ('1430', to_date('23.05.2018 18:10:00', 'dd.mm.yyyy hh24:mi:ss'));
1 row created.
SQL> insert into test values
2 ('1430', to_date('23.05.2018 14:50:00', 'dd.mm.yyyy hh24:mi:ss'));
1 row created.
SQL>
阿哈; SQL> select to_date(received_time, 'hh24mi') rectim,
2 processes_date
3 from test;
RECTIM PROCESSES_DATE
---------------- ----------------
01.05.2018 14:30 23.05.2018 16:10
01.05.2018 14:30 23.05.2018 18:10
01.05.2018 14:30 23.05.2018 14:50
SQL>
被“转换”为当月的第一天。我们将对RECEIVED_TIME
执行相同的操作,并使用PROCESSES_DATE
和TO_DATE
函数与相应的格式掩码相结合:
TO_CHAR
尼斯;现在我们可以做一些计算,看看哪一行花了30多分钟才完成;我将值四舍五入为5位小数以节省空间。另外,请注意我正在逐步执行此操作,以便您了解我们如何达到分钟,因为两个DATE数据类型值的差异是天数他们之间:
SQL> select to_date(received_time, 'hh24mi') rectim,
2 to_date(to_char(processes_date, 'hh24mi'), 'hh24mi') proctim
3 from test;
RECTIM PROCTIM
---------------- ----------------
01.05.2018 14:30 01.05.2018 16:10
01.05.2018 14:30 01.05.2018 18:10
01.05.2018 14:30 01.05.2018 14:50
SQL>
最后,您正在寻找的结果:
SQL> with inter as
2 (select to_date(received_time, 'hh24mi') rectim,
3 to_date(to_char(processes_date, 'hh24mi'), 'hh24mi') proctim
4 from test
5 )
6 select
7 proctim,
8 rectim,
9 round(proctim - rectim, 5) days,
10 round((proctim - rectim) * 24, 5) hours,
11 round((proctim - rectim) * 26 * 60, 5) minutes
12 from inter;
PROCTIM RECTIM DAYS HOURS MINUTES
---------------- ---------------- ---------- ---------- ----------
01.05.2018 16:10 01.05.2018 14:30 ,06944 1,66667 108,33333
01.05.2018 18:10 01.05.2018 14:30 ,15278 3,66667 238,33333
01.05.2018 14:50 01.05.2018 14:30 ,01389 ,33333 21,66667
SQL>