Недавно наша база данных изменилась с MySQL на Oracle. Я пытаюсь преобразовать один запрос в оракул, который уже используется в MySQL для создания отчета. Проблема в том, что формат поля метки времени в oracle - это VARCHAR2 (ГГГГММДДЧЧММСС). Я ищу эквивалентный вывод в оракуле. Пожалуйста, помогите мне достичь этого.
Ниже приведен код в MySQL. Я ищу эквивалентный код в Oracle.
select date_format(ourTimestamp, '%Y / %m') as "Month",
sum(unix_timestamp(AppliedTime) - unix_timestamp(ApprovedTime) < 24 * 3600) as "0 - 24 hrs",
sum( (unix_timestamp(AppliedTime) - unix_timestamp(ApprovedTime) >= 24 * 3600) and (unix_timestamp(AppliedTime) - unix_timestamp(ApprovedTime) < 48 * 3600)) as "24 - 48 hrs",
sum( (unix_timestamp(AppliedTime) - unix_timestamp(ApprovedTime) >= 48 * 3600) and (unix_timestamp(AppliedTime) - unix_timestamp(ApprovedTime) < 72 * 3600)) as "48 - 72 hrs",
count(*) as "Total"
from Order
where AppliedTimeis not null
and Type in ('SJ')
and ourTimestamp like '201601%'
group by "Month"
order by "Month";
Ожидаемый результат:
Month 0-24 hrs 24 - 48 hrs 48- 72 hrs Total
2017/01 200 845 483 ...
и т. Д.