仅提取oracle中的当前年份

时间:2017-10-23 07:34:24

标签: oracle

我需要从oracle db获取当前年份。举个例子,我需要将2017作为当前年份的答案作为数字类型返回。我尝试使用以下方式。

select to_Number(sysdate, 'YYYY') from student s

但它不起作用。那么最简单的方法是什么?

3 个答案:

答案 0 :(得分:3)

您需要to_char而不是to_number

select to_char(sysdate, 'YYYY') from student;

虽然给了一个字符串。您可以在其上应用to_number以进一步转换为数字。

select to_number(to_char(sysdate, 'YYYY')) from student;

但是有更好的方法使用extract

select extract(year from sysdate) from student;

答案 1 :(得分:1)

使用extract

select extract(year from sysdate)
from dual;

答案 2 :(得分:0)

获取当前年份的开始日期: trunc(sysdate,'yyyy')

select trunc (sysdate, 'yyyy'),SYSDATE from dual;

获取当前月份的开始日期:

select trunc (sysdate, 'mm'),SYSDATE from dual; 

选择一个月/一年中的记录:

created_date between trunc (sysdate, 'mm') and sysdate;

created_date between trunc (sysdate, 'yyyy') and sysdate;