oracle导入文件时,日期格式问题

load data

infile ‘/iot/opthb/TIBS_HOME/xcx/test/loadfile.txt‘

truncate into table zhicai_record_tmp

fields terminated by ‘ ‘

trailing nullcols(src_file_name,create_date,state_date,des_file_name)

用这个模板导入数据时

loadfile.txt:

JSWLWYFCG_-_01111453.20170502_-_2357+0800.ctc.dat 20170502235916 20170503000027 T_IOT_DDR_20170502.025.144.055

JSWLWYFCG_-_01111454.20170502_-_2357+0800.ctc.dat 20170502235917 20170503000027 T_IOT_DDR_20170502.025.144.056

JSWLWYFCG_-_01111455.20170502_-_2357+0800.ctc.dat 20170502235917 20170503000042 T_IOT_DDR_20170502.025.144.057

JSWLWYFCG_-_01111456.20170502_-_2357+0800.ctc.dat 20170502235917 20170503000043 T_IOT_DDR_20170502.025.144.058

JSWLWYFCG_-_01111457.20170502_-_2358+0800.ctc.dat 20170502235918 20170503000058 T_IOT_DDR_20170502.025.144.059

JSWLWYFCG_-_01111458.20170502_-_2358+0800.ctc.dat 20170503000331 20170503000347 T_IOT_DDR_20170502.025.144.075

JSWLWYFCG_-_01111459.20170502_-_2358+0800.ctc.dat 20170503000332 20170503000347 T_IOT_DDR_20170502.025.144.076

JSWLWYFCG_-_01111460.20170502_-_2359+0800.ctc.dat 20170503000332 20170503000402 T_IOT_DDR_20170502.025.144.077

JSWLWYFCG_-_01111461.20170502_-_2359+0800.ctc.dat 20170503000333 20170503000402 T_IOT_DDR_20170502.025.144.078

JSWLWYFCG_-_01111462.20170502_-_2359+0800.ctc.dat 20170503000333 20170503000416 T_IOT_DDR_20170502.025.144.079

会出现

Record 9: Rejected - Error on table ZHICAI_RECORD_TMP, column CREATE_DATE.

ORA-01861: literal does not match format string

这种错误,主要是因为日期格式不匹配,这时要对导入的数据进行格式化处理

load data

infile ‘/iot/opthb/TIBS_HOME/xcx/test/loadfile.txt‘

append into table zhicai_record_tmp

fields terminated by ‘ ‘

trailing nullcols(src_file_name,

create_date "to_date(:create_date,‘yyyymmddhh24miss‘)",

state_date "to_date(:create_date,‘yyyymmddhh24miss‘)",

des_file_name)

用这个模板导入数据时,便不会出现以上报错

时间: 2024-10-28 11:26:27

oracle导入文件时,日期格式问题的相关文章

oracle trunc 函数处理日期格式

oracle trunc 函数处理日期格式 select TRUNC(LAST_DAY(SYSDATE))+29+20/24 from dual--下个月的某一天几点几分 2015/11/29 20:00:00 select add_months(TRUNC(SYSDATE,'mm'),1)+5/24 from dual--下个月1号的几点2015/11/1 5:00:00 select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;  -

ORACLE TO_CHAR()函数中日期格式的使用

下面以实例来说明: SQL> set linesize 200 SQL> show parameter nls_date_language NAME                     TYPE            VALUE ------------------------------------ ---------------------- ------------------------------ nls_date_language             string     

Sqlserver 平面文件导入/ SSIS FlatFileSource导入文件时 出现LocaleID is not installed报错问题

最近在使用SqlServer和SSIS导入一个CSV文件到数据库时(SSIS选用的FlatFileSource作为数据流源),老是遇到  The LocaleID 4 is not installed on this system. 这个错误. 后来搞了老半天发现是FlatFileSource的Locale选项选择上出现了问题,由于要导入的CSV文件中包含中文,所以在用Sqlserver/SSIS导入csv时我在FlatFileSource的Locale上选择了Chinese (Simplifi

Oracle 获取当前日期及日期格式

获取系统日期: SYSDATE() 格式化日期:   TO_CHAR(SYSDATE(),'YY/MM/DD HH24:MI:SS) 或        TO_DATE(SYSDATE(),'YY/MM/DD HH24:MI:SS) 格式化数字:     TO_NUMBER 注:     TO_CHAR  把日期或数字转换为字符串 TO_CHAR(number, '格式') TO_CHAR(salary, '$99,999.99') TO_CHAR(date, '格式') TO_DATE  把字符

oracle trunc 函数处理日期格式,

select to_char(sysdate, 'yyyy-mm-dd hh24:mi:ss') from dual; --显示当前时间 2017 - 04 - 24 18 :42 :17 select trunc(sysdate, 'year') from dual; --截取到年(本年的第一天) 2017 / 1 / 1 select trunc(sysdate, 'q') from dual; --截取到季度(本季度的第一天) 2017 / 4 / 1 select trunc(sysda

使用NPOI导入Excel注意日期格式和数字格式

//使用NPOI导入Excel public static DataTable importExcelToDataSetUsingNPOI(string FilePath, string fileName) { DataSet myDs = new DataSet(); DataTable dt = new DataTable("mytable"); myDs.Tables.Add(dt); DataRow myRow; myDs.Clear(); try { using (Strea

合并邮件时日期格式的修改

关于MySQL中使用LOAD DATA INFILE导入csv文件时的日期格式问题

在使用MySQL时,常常会用到Load Data Infile来导入数据,在遇到Date类型的列时,有时会遇到格式转换的问题: 首先创建一张简单的people表,包含名字,生日,年龄三个字段: mysql> create table people( -> name varchar(10) NOT NULL, -> birthday date NOT NULL, -> age int NOT NULL); Query OK, 0 rows affected (0.18 sec) 构造

java导入excel时处理日期格式(已验证ok)

在Excel中的日期格式,比如2009-12-24将其转化为数字格式时变成了40171,在用java处理的时候,读取的也将是40171.如果使用POI处理Excel中的日期类型的单元格时,如果仅仅是判断它是否为日期类型的话,最终会以NUMERIC类型来处理.正确的处理方法是先判断单元格的类型是否则NUMERIC类型,然后再判断单元格是否为日期格式,如果是的话, 创建一个日期格式,再将单元格的内容以这个日期格式显示出来.如果单元格不是日期格式,那么则直接得到NUMERIC的值就行了.具体代码如下: