加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

Oracle sqlldr范例一:去空格及日期导入

(2011-09-28 16:22:46)
标签:

oracle

sqlldr

去空格

日期

杂谈

分类: 数据库

1. 建表语句

CREATE TABLE GL_POINT

(

  UNIT_ID        VARCHAR2(20 BYTE),

  DEPT_ID        VARCHAR2(20 BYTE),

  ZHJGDM         VARCHAR2(6 BYTE),

  STAT_DATE      DATE,

  ADD_POINT      INTEGER

 )

2. 数据文件内容

000000              |+|000001              |+|000000|+|24-JUL-10   |+| 154169934

2270                |+|000002              |+|7889  |+|24-JUL-10   |+|       100

3. ctl文件内容

load data

into table GL_POINT truncate

--into table GL_POINT truncate when unit_id <>'' 不导入unit_id为空的数据

fields terminated by '|+|' TRAILING NULLCOLS

(    --字段名称

    UNIT_ID "trim(:UNIT_ID)",

    DEPT_ID "trim(:DEPT_ID)",

    ZHJGDM "trim(:ZHJGDM)",

    STAT_DATE "trim(:STAT_DATE)",

    ADD_POINT "trim(:ADD_POINT)"

 )

4. 执行语句:

sqlldr username/password data=gl_point.dat control=gl_point.ctl log=gl_point.log bad=gl_point.bad

5. 说明:

   1) Ctl文件中,对栏位做了去空格处理。

   2) 表中STAT_DATE栏位为date类型, 数据文件中的数据格式为”dd-mon-yy” sqlldr会自动进行转换】

   3) 如果加入过滤条件【when unit_id <>'' 】,则对满足条件的记录,日志输出【1 Row not loaded because all WHEN clauses were failed】内容

 

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有