Oracle 日期为空,而不是使用默认值
我正在尝试编写一个简单的脚本,提示用户输入值,如果用户选择不插入任何内容,将使用我指定的默认值。按照其工作方式,如果用户不插入任何内容,则该值为null。我觉得这应该是简单的,但我一直无法找到一个答案使用谷歌Oracle 日期为空,而不是使用默认值,oracle,plsql,Oracle,Plsql,我正在尝试编写一个简单的脚本,提示用户输入值,如果用户选择不插入任何内容,将使用我指定的默认值。按照其工作方式,如果用户不插入任何内容,则该值为null。我觉得这应该是简单的,但我一直无法找到一个答案使用谷歌 DECLARE jobfromdate date default SYSDATE - 1; jobtodate date default SYSDATE; BEGIN jobfromdate := &jobfromdate; jobtodate := &jobto
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;
如这里所述,您不能从PL/SQL进行提示,只能传递参数 要使用默认值而不是null,可以使用COALESCE或NVL
SELECT COALESCE( jobfromdate, l_default_date) result
FROM jobdates;
您的代码总是将变量设置为默认值,但之后它总是根据替换变量(&)重新为它们指定一个新值。因此默认值实际上被忽略了。