2014-07-01 31 views
0

我想在控制文件(sql加载文件)中添加以下语句。如何在oracle的控制文件中使用select语句

select 
123456, 
regexp_replace(123456, '(\d+)(\d{2})', '\1.\2') 
from table_1; 

请指教。

+0

请解释你打算如何实现这个添加。 – nop77svk

+0

好吧,而不是编写一个单独的SQL脚本后加载已经happned我认为如果是posibble在控制文件本身做这些更改。 – user2647888

+0

只需将控制文件中的列名旁边的功能。 –

回答

3

Oracle文档提到了applying SQL operators to fields的选项。我这可能是你在找什么。这将是:

... 
your_number_field    char, 
your_regexp_processed_field char "regexp_replace(:your_number_field, '(\\d+)(\\d{2})', '\\1.\\2')", 
... 

反正我宁愿认为,相反,你建立在你的table_1做这个“计算”为您的视图。

+1

但反斜杠必须逃脱?! –

+0

啊,你说得对。我不习惯使用SQL * Loader,以便在第一次尝试时以100%正确的方式完成任务。 :-) 谢谢。答案已更正。 – nop77svk