oracle中如何获得日期中的年份?

如题所述

以下列举两种方式在在Oracle中获得日期中的年份,例如把sysdate中的年份取出来。

1、Select to_number(to_char(sysdate,'yyyy')) from dual

实例代码:

select

to_number(to_char(t.hiredate,'yyyy'))as 入职年,

from emp t;

运行结果:

2、使用Extract函数,Select Extract(year from sysdate) from dual,这种方法省掉了类型转换,

看上去更加简洁。此方法获得的结果,是数值型

实例代码:

select

extract(year from t.hiredate) as入职年,

from emp t  ;

运行结果:

扩展资料:

如果想在Oracle中获取日期中的月份,天数。可以将Select to_number(to_char(sysdate,'yyyy')) 

from dual改为Select to_number(to_char(sysdate,'MM')) from dual和Select 

to_number(to_char(sysdate,'DD')) from dual。

Extract函数中只需将Select Extract(month from sysdate) from dual改为Select Extract(year from sysdate) from dual和Select Extract(day from sysdate) from dual

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-10-13
在Oracle中,要获得日期中的年份,例如把sysdate中的年份取出来,并不是一件难事。常用的方法是:Select to_number(to_char(sysdate,'yyyy')) from dual,而实际上,oracle本身有更好的方法,那就是使用Extract函数,使用方法是:Select Extract(year from sysdate) from dual,这种方法省掉了类型转换,看上去更加简洁。相应的,要取得月份或日,可以用select extract (month from sysdate) from dual和select extract (day from sysdate) from dual。
此方法获得的结果,是数值型的,你可以设置一个方法测试一下。本回答被提问者采纳