Oracle SQL查询需求:根据停止时间计算下一个周一
Oracle SQL 获取指定日期的下一个周一
针对已知的stop_time(2023年1月19日),可以借助Oracle内置日期函数直接计算出对应的下一个周一,以下是具体实现方案:
基础查询(直接指定日期)
SELECT NEXT_DAY(TO_DATE('01/19/2023', 'MM/DD/YYYY'), 'MONDAY') AS next_monday FROM DUAL;
说明
TO_DATE('01/19/2023', 'MM/DD/YYYY'):将字符串格式的日期转换为Oracle可识别的日期类型,确保格式匹配。NEXT_DAY(date, 'MONDAY'):核心函数,返回指定日期之后的第一个周一。注意:若数据库为中文环境,需将'MONDAY'替换为'星期一',需根据实际语言环境调整。
结合原表的查询写法
如果需要从原表hwm_tm_rec_grp_sum中读取stop_time并计算对应下一个周一,可使用以下语句:
SELECT DISTINCT start_time, stop_time, NEXT_DAY(stop_time, 'MONDAY') AS next_monday FROM hwm_tm_rec_grp_sum WHERE sysdate BETWEEN start_time AND stop_time;
内容的提问来源于stack exchange,提问作者SSA_Tech124
相关产品推荐
相关产品推荐

