【问题标题】:Function that calculates number of days between 2 dates, accepts the start date and end date, then returns how many days it covers over that period计算两个日期之间的天数的函数,接受开始日期和结束日期,然后返回它在该期间覆盖的天数
【发布时间】:2020-09-25 06:25:41
【问题描述】:

我必须做类似的事情,我还需要将文件假脱机到 css

CREATE OR REPLACE FUNCTION NumberOfDays
(in_date IN DATE)
RETURN NUMBER
IS
days NUMBER;
BEGIN
days:= TRUNC(SYSDATE - in_date);
EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE(SQLERRM);
END;
/

【问题讨论】:

  • 您的实际问题是什么?
  • 我需要创建函数 NumberOfDays 来计算 2 个日期之间的天数,接受开始日期和结束日期,然后返回它在该期间覆盖的天数。

标签: sql oracle date plsql sql-function


【解决方案1】:

您的示例代码就差不多了。您只需要添加第二个in 参数。此外,您需要return 结果,以便返回给调用者。最后,不需要中间变量。您可以立即计算并返回。

create or replace function number_of_days(start_date in date, end_date in date)
return number
is
begin
    return trunc(end_date - start_date);
exception
    when others then
    dbms_output.put_line(sqlerrm);
end;
/

那么你可以这样做:

select number_of_days(date '2020-06-01', date '2020-06-06') res from dual

产量:

|资源 | | --: | | 5 |

【讨论】:

  • 非常感谢您的帮助和时间!
猜你喜欢
  • 2012-04-06
  • 1970-01-01
  • 1970-01-01
  • 2023-02-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多