很简单的存储过程,怎么就不对呢~~~各位帮忙呀!
我的存储过程定义如下:
CREATE PROCEDURE "PROC_ARMY_AGE"
(
"CURRDATE" TIMESTAMP
)
RETURNS
(
"AGE" CHAR(10)
)
AS
DECLARE VARIABLE JD TIMESTAMP;
BEGIN
SELECT JOINDATE FROM USERS WHERE ID=5
INTO :JD;
AGE=CURRDATE-JD;
END
是想返回当前时间与字段内的时间的差值。可是报错如下:
Conversion error from string "933.468414351"
Statement: SELECT * FROM PROC_ARMY_AGE(CURRENT_TIMESTAMP)
怀疑是返回值的类型定义不对,可是换了几种都不成~~为什么呀?
还有,如果我想返回当前时间跟记录的时间的YEAR的差值,怎么算?用EXTRACT函数吗?可是好象用这个函数所得到的结果是一个STRING,那IB里有类型转换的函数吗?