我使用此查询中的(:weekno)获得了财政年度第一个月的第一个月和第一周的日期
select TO_CHAR(ADD_MONTHS((Select ((TRUNC (Trunc(sysdate,'yyyy')+( :weekno)*7,'IW'))+1) fdt from duaL),+3))
from dual
输出得到:03-APR-17
但我想输出这种格式'YYYY / DD / MM'04 / 03/04
答案 0 :(得分:1)
你正在使用双重两次。没有必要这样做。
使用to_char
格式的yyyy/mm/dd
获取2017/03/04
:
select
to_char(
add_months(
trunc(
trunc(sysdate,'YY') + :week_no * 7, 'IW'
) + 1, 3
), 'yyyy/mm/dd'
) dt
from dual;
使用to_char
格式的dd/mm/yyyy
获取04/03/2017
:
select
to_char(
add_months(
trunc(
trunc(sysdate,'YY') + :week_no * 7, 'IW'
) + 1, 3
), 'mm/dd/yyyy'
) dt
from dual;
答案 1 :(得分:0)
如果您需要日期值:
select to_date(TO_CHAR(ADD_MONTHS((Select ((TRUNC (Trunc(sysdate,'yyyy')+( :weekno)*7,'IW'))+1) fdt from duaL),+3)),'yyyy/mm/dd') from dual
如果需要字符串值:
select TO_CHAR(ADD_MONTHS((Select ((TRUNC (Trunc(sysdate,'yyyy')+( :weekno)*7,'IW'))+1) fdt from duaL),+3),'yyyy/mm/dd')from dual