Date为null而不是使用默认值

时间:2014-01-07 20:29:23

标签: oracle plsql

我正在尝试编写一个简单的脚本来提示用户输入值,如果用户选择不插入任何内容,则会使用我指定的默认值。它的运行方式,如果用户什么都不插入,则该值为null。我觉得这应该很简单但我无法使用谷歌找到答案。

DECLARE 
jobfromdate date default SYSDATE - 1;
jobtodate date default SYSDATE;
BEGIN
  jobfromdate := &jobfromdate;
  jobtodate := &jobtodate;
   dbms_output.put_line(TO_CHAR(jobfromdate, 'MM-DD-YYYY'));
   dbms_output.put_line(TO_CHAR(jobtodate, 'MM-DD-YYYY'));
END;

1 个答案:

答案 0 :(得分:1)

如此处所述,您无法从PL / SQL提示,只能传递参数https://community.oracle.com/thread/397514?tstart=0

要使用默认值而不是null,您可以使用COALESCE或NVL

SELECT COALESCE( jobfromdate, l_default_date) result
FROM jobdates;