Oracle 防止SQL*Plus从变量';s字符串值

Oracle 防止SQL*Plus从变量';s字符串值,oracle,sqlplus,Oracle,Sqlplus,我有一个SQL*Plus报告,需要在每页的标题部分打印“MM/DD/YYYY hh24:mi”格式的运行时。因此,我做了以下工作: -- set variable run_time column rTime new_value run_time noprint select to_char(sysdate,'MM/DD/YYYY hh24:mi') rTime from dual; -- print contents ttitle right 'RUN TIME: ' &run_ti

我有一个SQL*Plus报告,需要在每页的标题部分打印“MM/DD/YYYY hh24:mi”格式的运行时。因此,我做了以下工作:

-- set variable run_time 
column rTime new_value run_time noprint
select to_char(sysdate,'MM/DD/YYYY hh24:mi') rTime from dual;

-- print contents
ttitle right 'RUN TIME: ' &run_time
但打印出来的是日期和时间,中间没有空格,如下所示:

运行日期:04/07/202115:32

起初我认为这可能与日期到字符的转换有关,但对于任何字符串和不涉及日期也是一样的问题。例如:

column testing new_value testing123 noprint
select 'blah blah' testing from dual;

ttitle left &testing123
结果是“布拉布拉”。所以中间的空间又被丢弃了。有人知道如何防止这种行为吗?是否需要设置SQL*Plus设置,或者需要在“列”或ttitle部分设置格式?

:

如果要在一行中放置多个单词,请在单引号中输入文本

在他们的例子中,把变量放在单引号中;我们也要这样做:

ttitle left'&testing123'

t右键“运行时:&运行时”