【发布时间】:2018-07-07 09:21:49
【问题描述】:
我可以使用文本字段“1000306”访问数据库 - 它是报告日期。我创建了表:
create table TT
(
DT VARCHAR2(20)
);
我通过 sql loader 加载数据。
我如何从中获取日期?我应该在 Oracle 中将 varchar2 转换为 DATE 吗?或者我应该在加载数据之前这样做吗?
我试过了:
create table TT
(
DT DATE
);
但它没有加载任何数据。
【问题讨论】:
-
“它没有加载任何数据。” 那么Loader在日志文件中写了什么信息呢?看看那肯定是一个有用的练习?
-
它显示:达到提交点 - 逻辑记录计数 65 然后我的表中没有任何内容。但是当我以同样的方式加载它,但选择 datatype: varchar2 它加载没有任何问题。
-
'1000306'是什么日期??? 2006 年 3 月 10 日? 2010 年 3 月 6 日? 1906 年 10 月三日?存储没有世纪或其他格式的日期只会导致数据损坏。 -
我能认为给出合理日期的唯一公式是它是否代表自 1900 年 1 月 1 日以来的小时数,因此 1000306 表示 2014 年 2 月 11 日 10:00。我接近了吗?
标签: oracle sqldatatypes sql-loader