2017-05-09 66 views
-1

to_char('01.01.2016')如何让当年以这种格式

我需要的那一天,一个月来设置始终01.01。但一年不得不改变取决于系统日期年份。

+5

'TRUNC(yourdate, '年')' –

+0

@vkp:*嘘*岗位作为一个答案;) – Ditto

+0

所以在我的情况下,它会是: (TO_CHAR(TRUNC('01 0.01 '' 年” )))?当我运行这个我得到错误.. – mikrimouse

回答

0

begin SELECT '01.01'。 || to_char(trunc(sysdate,'yyyy'),'yyyy')转换为:P86_P_DATUM_OD FROM dual; 结束;

2

假设你需要得到含有格式D​​D.MM.YYYY本年度的第一天的字符串,您可能需要:

select to_char(trunc(sysdate, 'year'), 'dd.mm.yyyy') from dual 

trunc(sysdate, 'year')给出了一年的第一天, to_char将结果转换为具有所需格式的字符串。

2

下面的代码返回天:01月:01,年:2017年(仅一年依赖于系统当前日期):

SELECT TO_CHAR(TRUNC(SYSDATE,'YYYY'),'DD.MM.YYYY') FROM DUAL; 
2

,可以串联的恒定值与去年转换为字符串:

select '01.01.'||to_char(sysdate, 'YYYY') 
from dual; 

或者把恒进格式字符串:

select to_char(sysdate, '"01.01."YYYY') 
from dual; 
0
select to_char(trunc(sysdate, 'YYYY'), 'dd.mm.yyyy') from dual