REGEXP_SUBSTR函数从CSV文件中读取日期字段

时间:2014-05-21 17:00:07

标签: sql oracle11g external-tables

我正在编写一个sql块,它将使用外部表概念准备好csv格式的文件。

我有近20多个coluumns,代码正在读取除日期格式化数据之外的所有内容。日期以这种格式出现5/12/2014 12:12:22(月/日/年小时:分钟:秒)

这是我用来读取所有字符串/ varchar数据的syntex。这里V_LINE只是一个表示行数的变量,

V_CRT_DT := REGEXP_SUBSTR(V_LINE, '**[^,]+**', 1, 15);

有人可以帮我解释如何阅读日期格式数据。

1 个答案:

答案 0 :(得分:0)

您的意思是要提取包含日期的列并将其转换为日期?

with data as
( select 'AAA,BBB,CCC,5/12/2014 12:12:22,DDD,EEE,FFF' str from dual)
select to_date(regexp_substr(str, '[^,]+', 1, 4), 'MM/DD/YYYY HH24:MI:SS') from data;

regexp_substr()获取第四个以逗号分隔的字段(日期/时间),然后to_date()将其转换为日期。