如何以这种格式获得当年

时间:2017-05-09 13:02:45

标签: sql oracle

to_char('01.01.2016')

我需要设定日期和月份始终为01.01。但年份必须改变取决于系统日期年份。

5 个答案:

答案 0 :(得分:2)

假设您需要以DD.MM.YYYY格式获取包含当年第一天的字符串,您可能需要:

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

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

答案 1 :(得分:2)

以下代码返回day:01,month:01,year:2017(仅依赖于系统当前日期的年份):

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

答案 2 :(得分:2)

您可以将常量值与转换为字符串的年份连接起来:

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

或者将常量放入格式字符串中:

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

答案 3 :(得分:0)

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

答案 4 :(得分:0)

开始 选择'01 .01。' || to_char(trunc(sysdate,'yyyy'),'yyyy')into:P86_P_DATUM_OD FROM dual; 端;