SELECT case when TRIM(TO_CHAR(TO_DATE(FACTORYDATE,‘YYYYMMDD’),‘DAY’)) =‘TUESDAY’ or TRIM(TO_CHAR(TO_DATE(FACTORYDATE,‘YYYYMMDD’),‘DAY’)) =‘星期二’ then TO_DATE(FACTORYDATE,‘YYYYMMDD’)
else trunc(TO_DATE(FACTORYDATE,‘YYYYMMDD’),‘iw’)-6
end FACTORYDATE FROM (
SELECT CASE WHEN SUBSTR(to_char(sysdate,‘YYYYMMDDHH24MISS’),9,14)>=‘060000’ THEN TO_CHAR(TO_DATE(SUBSTR(to_char(sysdate,‘YYYYMMDDHH24MISS’),0,8),‘YYYYMMDD’),‘YYYYMMDD’)
WHEN SUBSTR(to_char(sysdate,‘YYYYMMDDHH24MISS’),9,14)<‘060000’ THEN TO_CHAR(TO_DATE(SUBSTR(to_char(sysdate,‘YYYYMMDDHH24MISS’),0,8),‘YYYYMMDD’)-1,‘YYYYMMDD’)
END FACTORYDATE FROM dual
)
【SQL】根据某一日期获得特定上一周X的日期
最新推荐文章于 2023-11-27 11:55:48 发布