在PL / SQL中增加日期/日,不带+号

时间:2012-06-09 00:15:47

标签: sql plsql oracle11g

有没有办法增加没有+号的日子?

而不是

to_date('06/07/2012 08:00:00','mm/dd/yyyy hh24:mi:ss')+1

会使一天或更长时间增加的东西。

2 个答案:

答案 0 :(得分:2)

保留Oracle PL / SQL语法,将日期添加到日期,并使用URLEncode编码字符串,该字符串将对查询字符串中参数的加号进行编码。

另见https://forums.oracle.com/forums/thread.jspa?threadID=740265&tstart=60

但是我们必须注意,这里存在SQL注入攻击的风险,即使它是内部Web应用程序也是最好的避免。

答案 1 :(得分:1)

我知道这已经得到了回答,但是避免SQL注入的最佳做法是使用绑定变量。因此,如果您有一个pl / sql过程,请说(注意:绑定变量几乎可用于所有语言Java,C,C#),以下是使用绑定变量完全避免SQL注入的方法。

create or replace function increment_day(date_string_in varchar2)
return date
is

begin
   return to_date(date_string_in,'mm/dd/yyyy hh24:mi:ss')+1;


end;