gpt4 book ai didi

oracle - 甲骨文-PLS-00382 : expression is of wrong type in subtracting dates

转载 作者:行者123 更新时间:2023-12-02 10:44:04 25 4
gpt4 key购买 nike

我在Oracle中编译以下函数时遇到麻烦

CREATE OR REPLACE FUNCTION fn1
return binary_double
as
Fecha DATE;
Dias binary_double;
begin
dbms_output.put_line(CAST(TRUNC(CURRENT_DATE,'DD') AS DATE) - cast(current_timestamp as date));
return Dias;
end;

结果错误
Error(8,27): PLS-00382: expression is of wrong type

但是在函数体内运行相同的表达式
select CAST(TRUNC(CURRENT_DATE,'DD') AS DATE) - cast(current_timestamp as date) from dual

给出预期的结果-两个日期之间的天数
-0.0607060185185185185185185185185185185185

关于此功能可能有什么问题有任何想法吗?

最佳答案

采用:

begin
dbms_output.put_line(TRUNC(CURRENT_DATE,'DD') - cast( current_timestamp as date));
end;
/

Current_date返回数据类型DATE的值
Trunct也返回DATE。
因此,您正在尝试将DATE类型转换为DATE类型。

关于oracle - 甲骨文-PLS-00382 : expression is of wrong type in subtracting dates,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34957141/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com