sqlloader timestamp 转 date
来源:互联网 发布:windows专业版激活 编辑:程序博客网 时间:2024/05/18 00:41
在用sqlloader把csv导入oracle的时候,经常遇到这样的问题:
给过来的csv是sqlserver导出的,时间类型是 2015-01-01 10:10:10.000 这种比较恶心的timestamp类型。而我在网上找到的解决方法中,都说要把oracle中这个列的类型设为timestamp。但是这样什么意义也没有,因为我需要的是date类型,数据量大的情况下,我也不可能先导入到临时表中,然后再用存储过程处理一遍日期,然后导入正式表。于是就自已研究,看能否用sqlloader解决这个问题。
经过反复的尝试,终于找到解决办法,网上大部分都是互相抄来抄去,根本没有正确的方法,google快回来吧!
解决办法是:利用rtrim函数和to_date函数。control文件的其他部分不赘述,大家可以自行搜索,只说需要转换的时间列,假设这个列是c2,那么转换语句如下:
c2 "to_date(rtrim(:c2,'.000'), 'yyyy-mm-dd hh24:mi:ss')",
rtrim函数用来把timestamp后边的.000去掉,然后在用to_date函数转换成日期,这里有个要点要注意,c2后边不用再加上 date做为标识符了,加上了会报错。如果csv文件是正常的日期格式,那就得加上date标识符:c2 date 'yyyy-mm-dd hh24:mi:ss' 这样。
以上内容,亲测可用,凡事都要自己多思考、多实践。
0 0
- sqlloader timestamp 转 date
- Date转Timestamp
- String转Date, Timestamp
- Date转Timestamp
- DB2中的date转timestamp
- date timestamp
- 最简单的timestamp转date
- sqlloader
- SQLLOADER
- date和timestamp
- Date,String,Timestamp转化
- timestamp To Date
- Timestamp,Date区别
- Oracle date timestamp 毫秒
- TIMESTAMP datetime date
- Oracle-TIMESTAMP&DATE互转
- ssh+DB2+timestamp+date
- date timestamp 区别
- freemarker教程
- Linux下的MySQL主主复制
- android自动化测试工具简介
- 如何申请专利
- Arduino接口-week3-Lesson1
- sqlloader timestamp 转 date
- AVAudioPlayer播放并实现了后台播放和远程控制
- java中关于Map的三种遍历方法机putAll的用法详解
- yum安装与配置
- android基础学习007_android 常用类
- LinearGradientBrush 构造函数 (Rectangle, Color, Color, Single, Boolean)
- 虚拟机类加载机制
- Android详细解释键盘和鼠标事件
- 一致性哈希算法