对使用ociuldr导出date类型数据的使用体会.

使用ociuldr导出date类型的数据

在使用ociuldr工具的时候,为了导出date类型的字段,最好使用to_char函数把date类型的字段转为你需要的字段如('yyyy-mm

-dd hh24:mi:ss')。有这样一个表结构:
Name        Type           Nullable Default Comments             
----------- -------------- -------- ------- ---------------------
ID          NUMBER         Y                                     
NAME        VARCHAR2(20)   Y                                     
AGE         NUMBER         Y                                     
DESCRIPTION NVARCHAR2(100) Y                                     
BIRTHDAY    DATE

有记录:
1 小明 10 淘气的孩子 1997-8-8 8:08:08 
2 小孙 11 爱学习的孩子 1996-8-8 9:09:09
 
在使用ociuldr导出数据的时候,最好写成如下(这里只关注query参数,其他的参数可以自己选择设置):
c:/>ociuldr user=scada/scada@orcl query="select id,name,age,description, to_char(birthday,'yyyy-mm-dd hh24:mi:ss')as birthday from tttt"  field=# record=0x0a file=D:/emp1.txt table=tttt

在d:/emp1.txt中的内容为:
1#小明 #10#淘气的孩子#1997-08-08 08:08:08
2#小孙#11#爱学习的孩子#1996-08-08 09:09:09

如果按照下面的方式导出数据:
c:/>ociuldr user=scada/scada@orcl query="select * from tttt"  field=# record=0x0a file=D:/emp1.txt table=tttt

在d:/emp1.txt中的内容为如下所示(只有年月日,没有时分秒):
1#小明 #10#淘气的孩子#08-8月 -97
2#小孙#11#爱学习的孩子#08-8月 -96

通过上面的分析,我们还可以知道在查询date类型的字段的时候,我们可以通过to_char的转换,转为任意格式的显示格式。
select to_char(birthday,'hh24:mi') from scada.tttt;
08:08
09:09

必须注意到在ociuldr中,把date类型的字段作为一个普通的String进行了处理。

使用sqlldr导入数据

删除tttt表中的记录通过sqlldr把导出的数据导入到tttt表中去,注意必须是第一次通过调用to_char使用yyyy-mm-dd hh24:mi:ss格式导出date类型记录.

注意: 当使用ociuldr生成控制脚本的时候,由于时间字段使用了to_char函数转换为了字符格式,因此在控制文件中date类型的字段变为了char字段,必须手动改为date,并且定义自己需要的格式.

控制文件tttt_sqlldr.ctl的内容是:
--
-- Generated by OCIULDR
--
OPTIONS(BINDSIZE=8388608,READSIZE=8388608,ERRORS=-1,ROWS=50000)
LOAD DATA
INFILE 'D:/emp1.txt' "STR X'0a'"
INTO TABLE tttt
FIELDS TERMINATED BY X'23' TRAILING NULLCOLS
(
  ID CHAR(40),
  NAME CHAR(20),
  AGE CHAR(40),
  DESCRIPTION CHAR(200),
  BIRTHDAY DATE "YYYY-MM-DD HH24:MI:SS"
)

在控制台命令行下运行: c:/>sqlldr scada/scada@orcl control=d:/tttt_sqlldr.ctl 

 

阅读更多
个人分类: Oracle
上一篇Oracle Date类型与SQLT_DAT分析
下一篇MySQL数据导入导出方法与工具介绍(2-import from sql files) davidullua(原作)
想对作者说点什么? 我来说一句

oracle数据导出小工具(ociuldr

2009年02月05日 124KB 下载

Oracle导出txt文件工具ociuldr

2013年06月04日 125KB 下载

没有更多推荐了,返回首页

关闭
关闭