如:当前系统时间为2024-2-18 14:41:38
trunc()函数
- 获取当前日期:select trunc(sysdate) from dual --2024-2-18 select trunc(sysdate,'dd') from dual --2024-2-18
- 获取当月第一天:select trunc(sysdate, 'mm') from dual --2024-2-1
- 获取当年第一天:select trunc(sysdate,'yy') from dual --2024-1-1 select trunc(sysdate,'yyyy') from dual --2024-1-1
- 获取当前星期的第一天(周日):select trunc(sysdate,'d') from dual --2024-2-18
- 获取当前时间(时):select trunc(sysdate, 'hh') from dual --2024-2-18 14:00:00
- 获取当前时间(分)select trunc(sysdate, 'mi') from dual --2024-2-18 14:41:00 TRUNC()函数没有秒的精确
add_months()函数
- 当前时间减少两个月,并转换为日期形式: select to_date(to_char(add_months(sysdate,-2),'yyyy-mm-dd'),'yyyy-mm-dd') from dual --2023/12/18
- 当前时间月份减少两个月,1号为当月起始时间: select to_date(to_char(add_months(sysdate, -2), 'yyyy-mm'),'yyyy-mm') from dual --2023/12/1
- 当前时间月份减少两个月,31号为当月截止时间: select to_date(to_char(add_months(sysdate, -1), 'yyyy-mm'),'yyyy-mm')-1 from dual --2023/12/31
- 获取指定日期月份的第一天(本月第一天): select to_char(trunc(add_months(last_day(sysdate), -1) + 1), 'yyyy-mm-dd') from dual --2023/12/31
- 获取指定日期月份的最后一天(本月最后一天): select to_char(last_day(sysdate), 'yyyy-mm-dd') from dual --2024-02-29
- 获取两年前的当月的第一天: select trunc(add_months(sysdate, -24), 'month') from dual --2022/2/1
- 获取两年前的当前日期: select trunc(last_day(add_months(sysdate, -24))) from dual --2022/2/28
4GL获取年月日:
-
LET l_year =YEAR(g_xcbh_m.xcbh001)
-
LET l_month =MONTH(g_xcbh_m.xcbh001)
-
LET l_day = g_today