0

我对 SQL 开发人员编码非常陌生,我真的不知道所有代码是如何编写的,我需要一些帮助。我需要创建一个简单的函数来返回一个返回日期,该日期应该是这样结束的:

SQL> SELECT get_returndate(7)
     FROM dual;
_________
GET_RETURNDATE(7)
----------------------------
2013-10-21:23:59
___

假设采用 1 个参数,然后sysdate + parameter作为日期返回。

这就是我得到的

create or replace
  function get_retdate(
    p_days number)
  return date
  as
    v_retdate date;
    v_currdate date := sysdate;
  begin
    select v_date + p_days
    into v_retdate
    return
    from dual;
  end;

我的问题是我不知道如何将参数添加到函数中的局部变量,因为我对 SQL 和函数非常陌生,所以我没有得到任何地方......我敢打赌这很容易,我只是对 SQL 不好。

4

3 回答 3

0

我向您在Oracle 编程方面的初学者尝试以及您接近它的地方欢呼。但是你必须查看手册。

这是你应该去的地方:

 create or replace function get_retdate( p_days number)
 return date
 as
   v_retdate date;
   v_currdate date := sysdate;
 begin
   select v_currdate + p_days into v_retdate from dual;
   return v_retdate;
 end get_retdate;
 /
于 2016-08-25T13:39:18.200 回答
-1

Transact-SQL (SQL Server) 提供了一个非常简单的解决方案,不需要存储过程:

SELECT GETDATE() + 7;

在我的时区给出:

2013-10-24 00:29:54.137
于 2013-10-16T22:30:20.013 回答
-1

如果您使用 MS SQL,请使用 DATEADD:http ://www.w3schools.com/sql/func_dateadd.asp

例子:

DECLARE SevenDaysFromNow DATETIME = DATEADD(d,7,GETDATE())
于 2013-10-16T22:29:07.943 回答