如何在oracle中设置日期加天数的参数

时间:2014-01-07 09:12:42

标签: sql oracle

我有问题在oracle中添加日期加天数的set参数。我有两个参数。这是日期的一个,的一个。我尝试过这种方式,但没有成功。

我的查询:

SELECT DISTINCT
  mhn.id_mohon,
  mhn.kod_urusan,
  mhn.kod_caw,
  nvl(to_char(mhn.trh_masuk, 'DD/MM/YYYY'), '-') trh_mohon,
  nvl(to_char(mhn.trh_masuk, 'MM'), '-')         bln
 FROM mohon mhn
WHERE mhn.trh_masuk = to_date(:p_date1, 'DD/MM/YYYY') + INTERVAL :days DAY;

你能检查我的参数是什么问题吗?

2 个答案:

答案 0 :(得分:4)

我希望您需要:

to_date(:p_date1,'DD/MM/YYYY') + :days

或:

to_date(:p_date1,'DD/MM/YYYY') + :days * INTERVAL '1' DAY

答案 1 :(得分:3)

interval literal表示间隔长度必须是带引号的固定值;它不能是一个变量。

您可以改为使用numtodsinterval() function

mhn.trh_masuk = to_date(:p_date1,'DD/MM/YYYY') + numtodsinterval(:days, 'DAY')

或者你可以add the number of days to the date

mhn.trh_masuk = to_date(:p_date1,'DD/MM/YYYY') + :days