我有问题在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;
你能检查我的参数是什么问题吗?
答案 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