热门搜索 :
考研考公
您的当前位置:首页正文

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

2023-11-11 来源:东饰资讯网

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)

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

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

标签:oracle

小编还为您整理了以下内容,可能对您也有帮助:

在oracle数据库插入日期时格式不对

在oracle数据库插入日期时格式不对,修改办法如下:

1、使用具有日期和时间格式的表来查询相关数据。

2、查询指定日期(2019/03/04)的数据。 默认值是周期与0点0分开计算。

3、如果要指定开始计算的次数,则上述句点语法将更改为OUT_PROCESS_TIME>TO_DATE('2019/03/04 10:00:00','YYYY/MM/DD HH24/MI/SS')。

4、第一步是找到定义的时间单位。

5、在数据库中找到此时间函数的定义。 这是一个参数集。 将使用数据库的相关整数转换。 它通常位于sys_base表中。

6、work_time<14*60/10,这里14表示14点,即下午2点。60是每小时60分钟设置的公共值,即上面sys_base表中的时间值。

按照上述操作,便可以解决该问题。

oracle里面建了一张表字段类型为date但是插入数据日期格式为:12-MAN-12时提示月份错误

插入数据是:insert into emp_user values(10,'zhansan','12-MAR-10');

你以前这样写之所以不报错是因为oracle替你进行了转换,将字符串'12-MAR-10'转换成了日期类型。

现在这么写不成了,是因为你的环境变量改变了:

点我的电脑->属性->高级->环境变量->系统变量

把nls_date_format设成dd-mon-rr(我理解12-MAR-10是2010年3月12日,这个格式你可以自己根据实际情况改)

把nls_date_language设成AMERICAN

上面2个变量如果没有,你可以新建

之后,就肯定好了

oracle日期格式转换的问题

描述不太清楚,大概了解,两种可能,
1、表A的日期格式都是yyyyMMdd,那你to_date(日期,'yyyyMMdd')要这样写,否则长度是不够的
2、如果在to_date(日期,'yyyyMMdd hh24miss')时候报valid 错误,说明你的日期格式不正确,比如年份、月份、天数不合法,如9999年13月32日,这肯定不对
另外建议你,在学习使用oracle的过程中,报的错误,直接说oracle的错误编号就行,
ORA-01843 not a valid month追问数据没问题,若是可以的话,希望能留下QQ,我发一些截图给你

追答317789250

oracle日期格式转换的问题

描述不太清楚,大概了解,两种可能,
1、表A的日期格式都是yyyyMMdd,那你to_date(日期,'yyyyMMdd')要这样写,否则长度是不够的
2、如果在to_date(日期,'yyyyMMdd hh24miss')时候报valid 错误,说明你的日期格式不正确,比如年份、月份、天数不合法,如9999年13月32日,这肯定不对
另外建议你,在学习使用oracle的过程中,报的错误,直接说oracle的错误编号就行,
ORA-01843 not a valid month追问数据没问题,若是可以的话,希望能留下QQ,我发一些截图给你

追答317789250

从oracle数据库取的日期型数据存入sqlserver05数据库,显示的格式不对

select to_char(sysdate ,'YYYY-MM-DD HH24:mm:ss') from al;

---Oracle 导出格式

select cast(char as datetime)

---MSSQL导入格式

如何解决sql和oracle时间格式不同无法插入的问题

方法如下: 1,先imp到oracle,再从oracle转换在sqlserver 还有一种方法,我的用第3种办法就解决问题了 祝你好运~ 直接还原,注意名字要一致 你先追问不是很明白啊~~~

Top