执行字段,该如何解决
执行字段
现有一张配置表,一个字段存放的是路径,一个是文件名
FILE_PATH:../work/
FILE_NAME:'60010300011000000036BUS23002_'||to_char(sysdate, 'yyyymmdd')||'_A00_000_0000.txt'
我希望能把路径和文件名连一起显示:../work/60010300011000000036BUS23002_20150320_A00_000_0000.txt
我知道连接字段用||
文件名中有对日期的转换,请问这样的话该如何实现?
我已经把FILE_NAME写成一句sql了,但是不知道怎么执行该字段
select '../industry_cust/node/60010300011000000036BUS23002_'||to_char(sysdate, 'yyyymmdd')||'_A00_000_0000.txt' from dual;
谢谢了
------解决思路----------------------
------解决思路----------------------
其实就是字符串的拼接,如果中间有单引号,两个单引号最终等于一个单引号
------解决思路----------------------
现有一张配置表,一个字段存放的是路径,一个是文件名
FILE_PATH:../work/
FILE_NAME:'60010300011000000036BUS23002_'||to_char(sysdate, 'yyyymmdd')||'_A00_000_0000.txt'
我希望能把路径和文件名连一起显示:../work/60010300011000000036BUS23002_20150320_A00_000_0000.txt
我知道连接字段用||
文件名中有对日期的转换,请问这样的话该如何实现?
我已经把FILE_NAME写成一句sql了,但是不知道怎么执行该字段
select '../industry_cust/node/60010300011000000036BUS23002_'||to_char(sysdate, 'yyyymmdd')||'_A00_000_0000.txt' from dual;
谢谢了
------解决思路----------------------
-- 是把这个串到一个变量,再把这个串当成一个SQL,去执行他吧,
1.
declare
m_var varchar2(200);
begin
select '../indus_cust/node/AAA'
------解决思路----------------------
to_char(sysdate, 'yyyymmdd')
------解决思路----------------------
'_A00.txt'
into m_var
from dual;
dbms_output.put_line(m_var);
execute immediate m_var ; -- 这个就是执行
end;
end;
------解决思路----------------------
其实就是字符串的拼接,如果中间有单引号,两个单引号最终等于一个单引号
------解决思路----------------------
-- 这个,就一句完成的
execute immediate ('../indus_cust/node/AAA'
------解决思路----------------------
to_char(sysdate, 'yyyymmdd')
------解决思路----------------------
'_A00.txt');