>我正在尝试使用YEAR(GETDATE())
获取当前年份:
DECLARE
currentYear PLS_INTEGER := YEAR(GETDATE());
BEGIN
WHILE startYear <= currentYear LOOP
someOperation.......
.....
....
LOOP END;
END;
当我执行它时,我得到以下内容作为脚本 O/P
ORA-06550:第 15 行,第 28 列:PLS-00201:必须声明标识符"YEAR" ORA-06550:第 15 行,第 13 列:PL/SQL:忽略的项目 ORA-06550:第 21 行,
第 21 列:
PLS-00320:此表达式类型的声明不完整或格式不正确
ORA-06550:第 21 行,第 2 列:
PL/SQL:忽略语句
06550。 00000 - "行 %s,列 %s:%s">
原因: 通常是PL/SQL编译错误。
我看看我是否使用SELECT YEAR(GETDATE)
结果返回当前年份。
任何建议如何获得当前年份?
很多选项。
SQL> select
2 to_char(sysdate, 'yyyy') year_1,
3 --
4 extract (year from sysdate) year_2
5 from dual;
YEAR YEAR_2
---- ----------
2019 2019
SQL>
我认为YEAR
是一个SQL Server函数。您可以这样使用SYSDATE
。
DECLARE
currentYear PLS_INTEGER := TO_NUMBER(TO_CHAR(SYSDATE, 'YYYY'));
BEGIN
dbms_output.put_line(currentYear);
END;