当前日期为ACCEPT sql * plus中的默认值

时间:2018-04-23 12:46:36

标签: oracle sqlplus

我试图制作一个很可能会在现场使用的报告脚本。所以我希望接受默认为当前日期,但我要么得到' current_date'作为文本,或用户输入数字

1 个答案:

答案 0 :(得分:0)

SQL> col today new_value today

SQL> select to_char(sysdate,'YYYY-MM-DD') as today from dual;

TODAY
----------
2018-04-23

1 row selected.

SQL> def today
DEFINE TODAY           = "2018-04-23" (CHAR)

SQL> accept dt date format YYYY-MM-DD default &today prompt "Enter a date (press ENTER for today's date): "
Enter a date (press ENTER for today's date):

SQL> def dt
DEFINE DT              = "2018-04-23" (CHAR)

在脚本中,您可以在set termout off开头set termout onaccept提示之前隐藏详细信息。

我喜欢使用YYYY-MM-DD,因为查询可以简单地用于:

select blah from blahblah
where  sale_date = date '&dt'