1

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

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

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

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

有人可以帮助我了解如何读取日期格式的数据。

4

1 回答 1

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() 获取第 4 个逗号分隔字段(日期/时间),然后 to_date() 将其转换为日期。

于 2014-07-09T13:22:59.280 回答