我正在编写一个sql块,它将使用外部表概念准备好csv格式的文件。
我有近20多个coluumns,代码正在读取除日期格式化数据之外的所有内容。日期以这种格式出现5/12/2014 12:12:22(月/日/年小时:分钟:秒)
这是我用来读取所有字符串/ varchar数据的syntex。这里V_LINE只是一个表示行数的变量,
V_CRT_DT := REGEXP_SUBSTR(V_LINE, '**[^,]+**', 1, 15);
有人可以帮我解释如何阅读日期格式数据。
答案 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()将其转换为日期。