自动计算oracle APEX的日期
如何根据用户的输入计算日期? 也就是说,根据用户输入的内容,当前日期将增加3个月或5个月,以此类推 我尝试向日期选择器添加计算:自动计算oracle APEX的日期,oracle,date,apex,computation,Oracle,Date,Apex,Computation,如何根据用户的输入计算日期? 也就是说,根据用户输入的内容,当前日期将增加3个月或5个月,以此类推 我尝试向日期选择器添加计算: 提交日期仅显示当前日期(已实施) 发布日期应为提交日期+3个月或+5个月,具体取决于用户在其他字段中的输入 到目前为止,我还使用以下pl/sql函数体添加了一个计算,但它不起作用 DECLARE sub_date DATE default null; BEGIN if :P75_THESISTYPE =1 then sub_date := :P75_SUBMIS
- 提交日期仅显示当前日期(已实施)
- 发布日期应为提交日期+3个月或+5个月,具体取决于用户在其他字段中的输入
DECLARE
sub_date DATE default null;
BEGIN
if :P75_THESISTYPE =1
then
sub_date := :P75_SUBMISSION_DATE +6;
else
sub_date := :P75_SUBMISSION_DATE +3;
END IF;
return sub_date;
end;
页面项目被视为VARCHAR2,因此在对其执行算术运算之前,需要将其转换为日期:
DECLARE
sub_date DATE default null;
BEGIN
if :P75_THESISTYPE =1
then
sub_date := TO_DATE(:P75_SUBMISSION_DATE) +6;
else
sub_date := TO_DATE(:P75_SUBMISSION_DATE) +3;
END IF;
return sub_date;
end;
/
@TonyAndrews的过程是正确的,但由于他遵循了您最初的陈述,因此不会产生预期的结果。将整数添加到数据中会增加天数而不是月份。您需要的是添加月份功能;因此:
DECLARE
sub_date DATE default null;
BEGIN
if :P75_THESISTYPE =1
then
sub_date := add_months(to_date(:P75_SUBMISSION_DATE),6);
else
sub_date := add_months(to_date(:P75_SUBMISSION_DATE),3);
end if
return sub_date;
end;
/
当然,上面假设变量的格式与nls_数据_格式匹配。一般来说,充其量只是一个危险的假设,你说的“不工作”是什么意思?提出错误?或者做什么?此计算将在页面提交时执行,因此在此之前您不会看到结果。我实际希望的是,根据用户的选择,提交日期将自动设置,因此,在当前日期上加上一定数量的月份,这就是提交日期的结果。实际发生了什么?当使用上述pl/sql函数体时,我得到以下错误:ORA-06550:第6行,第13列:PLS-00382:表达式的类型错误ORA-06550:第6行,第1列:PL/SQL:语句忽略ORA-06550:第8行,第13列:PLS-00382:表达式的类型错误ORA-06550:第8行,第1列:PL/SQL:语句忽略谢谢-现在我可以回答这个问题了!