【发布时间】:2018-04-03 16:32:19
【问题描述】:
我需要从 oracle 数据库中获取当前年份。例如,我需要将 2017 作为当前年份的答案作为数字类型返回。我尝试使用以下方式。
select to_Number(sysdate, 'YYYY') from student s
但它不起作用。那么最简单的方法是什么?
【问题讨论】:
标签: oracle
我需要从 oracle 数据库中获取当前年份。例如,我需要将 2017 作为当前年份的答案作为数字类型返回。我尝试使用以下方式。
select to_Number(sysdate, 'YYYY') from student s
但它不起作用。那么最简单的方法是什么?
【问题讨论】:
标签: oracle
获取当前年份的开始日期: 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;
【讨论】:
您需要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;
【讨论】:
使用extract
select extract(year from sysdate)
from dual;
【讨论】: