Sql 如何以这种格式获取当前年份
Sql 如何以这种格式获取当前年份,sql,oracle,Sql,Oracle,to_char('01.01.2016') 我需要设置日期和月份始终为01.01。但是年份必须更改,这取决于系统日期年份。假设您需要以DD.MM.YYYY格式获取包含当前年份第一天的字符串,您可能需要: select to_char(trunc(sysdate, 'year'), 'dd.mm.yyyy') from dual trunc(sysdate,'year')给出一年中的第一天,而to_char将结果转换为所需格式的字符串。下面的代码返回日期:01,月份:01,年份:2017(仅取决
to_char('01.01.2016')
我需要设置日期和月份始终为01.01。但是年份必须更改,这取决于系统日期年份。假设您需要以DD.MM.YYYY格式获取包含当前年份第一天的字符串,您可能需要:
select to_char(trunc(sysdate, 'year'), 'dd.mm.yyyy') from dual
trunc(sysdate,'year')
给出一年中的第一天,而to_char
将结果转换为所需格式的字符串。下面的代码返回日期:01,月份:01,年份:2017(仅取决于系统当前日期):
可以将常量值与转换为字符串的年份连接起来:
select '01.01.'||to_char(sysdate, 'YYYY')
from dual;
或者将常量放入格式字符串中:
select to_char(sysdate, '"01.01."YYYY')
from dual;
开始
选择“01.01”。| | to_char(trunc(sysdate,'yyyy'),'yyyy')进入:P86_P_DATUM_OD FROM dual;
结束
trunc(您的日期,'year')
@vkp:psst作为答案发布;)所以在我的例子中是:(to_char(trunc('01.01.','year'))?当我运行此命令时,出现错误。到_char('01.01.2016')
没有意义,因为您正在尝试将字符串转换为字符串。如果我理解的很好,你需要得到今年的第一天,对吗?如果是,哪种类型(日期、字符串)?如果是字符串,则使用哪种格式?。请编辑您的问题以澄清您的需求是的,您是正确的,类型是日期。。以我写上dd.mm.yyyy时的格式。
select to_char(sysdate, '"01.01."YYYY')
from dual;
select to_char(trunc(sysdate, 'YYYY'), 'dd.mm.yyyy') from dual