sql 转 oracle 后 生成的存储过程 出现错误
CREATE OR REPLACE FUNCTION fn_gdj_overdue
(
v_stime IN VARCHAR2,
v_dyear IN NUMBER
)
RETURN NUMBER
AS
v_delta DATE;
v_year NUMBER(10,0);
v_ret NUMBER(1,0);
BEGIN
v_delta := SYSDATE - CAST(v_stime AS DATE) ;
v_year := sqlserver_utilities.datediff('YEAR', '1900-01-01 00:00:00', v_delta) ;
IF v_year > v_dyear THEN
v_ret := 1 ;
ELSE
IF v_year < v_dyear THEN
v_ret := 0 ;
ELSE
IF ( sqlserver_utilities.datepart('MM', v_delta) > 1
OR sqlserver_utilities.datepart('DD', v_delta) > 1
OR ( sqlserver_utilities.datepart('HH', v_delta) >= 10 ) ) THEN
v_ret := 1 ;
ELSE
v_ret := 0 ;
END IF;
END IF;
END IF;
RETURN v_ret;
END;
提示 错误:FUNCTION DBO_HGGPS_PLAT_XUCHEN.FN_GDJ_OVERDUE 编译错误
错误:PLS-00382: 表达式类型错误
行:13
文本:v_delta := SYSDATE - CAST(v_stime AS DATE) ;
错误:PL/SQL: Statement ignored
行:13
文本:v_delta := SYSDATE - CAST(v_stime AS DATE) ;
大神 求解啊 !!!!