SQL Developer使用函数和连接来定义替换变量

时间:2014-07-25 18:02:52

标签: sql oracle oracle-sqldeveloper

在SQL Developer中,是否可以根据要与SPOOL一起使用的另一个变量将变量定义为构造?

例如:

define startdate='01-JAN-14'
define sdt=SUBSTR(&&startdate,4,3)

SPOOL &&sdt._File.csv

给我输出" JAN_File.csv"

我知道我不会工作,因为我已经对它进行了测试并且我已经尝试过研究它,但是有没有办法解决这个问题?

1 个答案:

答案 0 :(得分:1)

不漂亮,但如果你真的想要,可以使用绑定变量作为中间步骤:

define startdate='01-JAN-14'

var bind_sdt varchar2(3);
exec :bind_sdt := SUBSTR('&&startdate',4,3);
column sub_sdt new_value sdt;
select :bind_sdt as sub_sdt from dual;

SPOOL &&sdt._File.csv

column ... new_value command正在从select-list项创建一个替换变量,它是绑定变量,即子字符串。

如果你还没有这样做,你可以set termout off然后回到execselect以及set verify off。你还没有说出开始日期字符串的来源,所以我把它留作define