我需要从oracle db获取当前年份。举个例子,我需要将2017作为当前年份的答案作为数字类型返回。我尝试使用以下方式。
select to_Number(sysdate, 'YYYY') from student s
但它不起作用。那么最简单的方法是什么?
答案 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;