2014-01-07 4 views
1

Я пытаюсь написать простой скрипт, который запрашивает у пользователя значение, а если пользователь не хочет ничего вставлять, будут использовать значения по умолчанию, которые я указал. Как он функционирует, если пользователь ничего не вставляет, значение равно null. Я чувствую, что это должно быть просто, но я не смог найти ответ, используя Google.Дата имеет значение 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; 
+0

Ваш код всегда устанавливает переменные в значение по умолчанию, но затем после этого всегда переназначает им новое значение, основанное на переменных замены (&). Поэтому значения по умолчанию эффективно игнорируются. –

ответ

1

Как указано здесь вы не можете подсказать из PL/SQL, передавать только PARAMATERS https://community.oracle.com/thread/397514?tstart=0

использовать значение по умолчанию, а не нулевой вы можете использовать COALESCE или NVL

SELECT COALESCE(jobfromdate, l_default_date) result 
FROM jobdates; 
Смежные вопросы