Я работаю над этой базой данных, которая содержит информацию о заказах в магазинах на заводе. Я использую этот запрос, который получает данные заказа, используя дату закрытия в качестве условия. Он извлекает заказ, закрытый в течение двух недель.
select order.id, order.end_date, material.id, material.description
from plant.order inner join plant.material
on order.material = material.id
where order.end_date <= to_date('26/10/2018 06:00:00', 'DD/MM/YYYY HH24:MI:SS')
where order.end_date <= to_date('12/10/2018 06:00:00', 'DD/MM/YYYY HH24:MI:SS')
Поскольку рабочий день разделен на смены (например, рабочий день 26 октября начинается с 26/10 6:00 и заканчивается 27/10 6:00, чтобы охватить 24 часа), мне нужно управлять этим.
Можно ли использовать условие, которое проверяет, является ли час <6, и если условие истинно, оно записывает правильное значение в другой столбец?
Или есть лучший способ управлять этим? </p>
order.id order.end_date material.id material.description
-------- -------------- ----------- --------------------
1 26/10/2018 05:00 1 Lorem Ipsum
2 26/10/2018 07:00 2 Lorem Ipsum
order.workday (new column)
-------------
25/10/2018
26/10/2018
В этом случае идентификатор заказа 1 должен быть результатом даты 25/10/2018, а идентификатор заказа 2 должен быть датой 26/10 / 2018.
Я надеюсь, что я был ясен.
Спасибо