我正在尝试使用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列:\ n%s”
原因:通常是PL / SQL编译错误。
我看看是否使用SELECT YEAR(GETDATE)
会返回当前年份。
任何建议如何获取当前年份?
答案 0 :(得分:2)
很多选择。
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>
答案 1 :(得分:1)
我认为YEAR
是SQL Server函数。您可以这样使用SYSDATE
。
DECLARE
currentYear PLS_INTEGER := TO_NUMBER(TO_CHAR(SYSDATE, 'YYYY'));
BEGIN
dbms_output.put_line(currentYear);
END;