我有一个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/20215:32
起初,我认为这可能与日期到字符的转换有关,但对于任何字符串和不调用日期都是同样的问题。例如:
column testing new_value testing123 noprint
select 'blah blah' testing from dual;
ttitle left &testing123
结果是";等等;。所以中间的空间又被丢弃了。有人知道如何防止这种行为吗?是否有需要设置的SQL*Plus设置,或者我需要在";列";还是小块?
来自文档:
如果要在一行中放置多个单词,请用单引号输入文本。
在他们的例子中,将变量放在单引号中;也是如此
ttitle left '&testing123'
或
ttitle right 'RUN TIME: &run_time'