Windows 在名称上显示日期的假脱机sql日志

Windows 在名称上显示日期的假脱机sql日志,windows,oracle,spool,Windows,Oracle,Spool,我在开始时使用了sql脚本,我将: column dt new_value mydate noprint select to_char(sysdate. 'YYYYMMDD') dt from dual; spool &mydate.test.log 尝试用时间戳假脱机日志 但是,当我执行此操作时,输出文件名,如&mydate.test.log 有人知道我错过了什么吗 提前谢谢 你需要 SET define ON 例如: SQL> column dt new_value myd

我在开始时使用了sql脚本,我将:

column dt new_value mydate noprint
select to_char(sysdate. 'YYYYMMDD') dt from dual;
spool &mydate.test.log
尝试用时间戳假脱机日志

但是,当我执行此操作时,输出文件名,如&mydate.test.log

有人知道我错过了什么吗

提前谢谢

你需要

SET define ON
例如:

SQL> column dt new_value mydate noprint
SQL> select to_char(sysdate, 'YYYYMMDD') dt from dual;

SQL> set define off
SQL> select '&mydate' from dual;

'&MYDATE'
--------------------------------
&mydate

SQL> set define on
SQL> select '&mydate' from dual;

'20180830'
--------------------------------
20180830
你会找到更多的东西。

你需要

SET define ON
例如:

SQL> column dt new_value mydate noprint
SQL> select to_char(sysdate, 'YYYYMMDD') dt from dual;

SQL> set define off
SQL> select '&mydate' from dual;

'&MYDATE'
--------------------------------
&mydate

SQL> set define on
SQL> select '&mydate' from dual;

'20180830'
--------------------------------
20180830

您还可以找到更多内容。

在SQL*Plus中,使用

show define
通常情况下,这会给出类似的结果

define "&" (hex 26)
但是,可以将其设置为不同的字符,或者完全禁用它,在这种情况下,您将看到

define OFF
要重新启用它,您需要

set define on
如果要将
保留在日期和
test.log
之间,则需要两个点,因为第一个点终止替换变量:

SQL> spool &mydate..test.log
SQL> spool
currently spooling to 20180830.test.log

在SQL*Plus中,使用检查
define
设置

show define
通常情况下,这会给出类似的结果

define "&" (hex 26)
但是,可以将其设置为不同的字符,或者完全禁用它,在这种情况下,您将看到

define OFF
要重新启用它,您需要

set define on
如果要将
保留在日期和
test.log
之间,则需要两个点,因为第一个点终止替换变量:

SQL> spool &mydate..test.log
SQL> spool
currently spooling to 20180830.test.log