Sql Oracle-日期时间上的条件
我正在处理这个数据库,它包含工厂中的车间订单信息。我使用这个查询来检索订单数据,使用截止日期作为条件。它提取两周内关闭的订单Sql Oracle-日期时间上的条件,sql,database,oracle,select,case,Sql,Database,Oracle,Select,Case,我正在处理这个数据库,它包含工厂中的车间订单信息。我使用这个查询来检索订单数据,使用截止日期作为条件。它提取两周内关闭的订单 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/201
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')
在这种情况下,订单id 1的日期应为2018年10月25日,而订单id 2的日期应为2018年10月26日
我希望我已经说清楚了
谢谢您只需使用
TRUNC(order.end\u date-6/24)
当
select
order.id,
order.end_date,
material.id,
material.description,
case when TO_CHAR (order.end_date, 'HH24:MI:SS')<'06:00:00' then order.end_date- interval '1' day else order.end_date end as workday
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')
选择
订单号,
订单结束日期,
材料id,
材料说明,
案例何时显示字符(order.end\u日期'HH24:MI:SS')
WITH t AS (
SELECT TO_DATE('26/10/2018 05:00' , 'dd/mm/yyyy hh24:mi') AS end_date FROM dual
UNION ALL SELECT TO_DATE('26/10/2018 07:00' , 'dd/mm/yyyy hh24:mi') AS end_date FROM dual)
SELECT end_date, TRUNC(end_date - 6/24)
from t;
+----------------------------------------+
|END_DATE |TRUNC(END_DATE-6/24)|
+----------------------------------------+
|26.10.2018 05:00:00|25.10.2018 |
|26.10.2018 07:00:00|26.10.2018 |
+----------------------------------------+
select
order.id,
order.end_date,
material.id,
material.description,
case when TO_CHAR (order.end_date, 'HH24:MI:SS')<'06:00:00' then order.end_date- interval '1' day else order.end_date end as workday
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')