Oracle日期格式插入

时间:2014-11-19 08:03:13

标签: oracle date format

我的数据格式为

2010年11月2日 2013年3月15日 - 依此类推。

我需要获取这些数据并插入DATE类型的字段。

我怎样才能做到这一点?

2 个答案:

答案 0 :(得分:1)

select to_char(sysdate,'ddth Month YYYY','NLS_DATE_language=American') from dual

输出: 2014年11月19日

select to_date('15th Mar 2013','dd"th" Mon YYYY','NLS_DATE_language=American') from dual 用于将varchar转换为日期格式。

希望帮助你。

答案 1 :(得分:0)

您只需要将字符串转换为具有相应格式掩码的日期:

insert into your_table values (
    to_date('2nd November 2010', 'ddth Month YYYY')
) 

文档包含完整的格式模型列表。 Find out more

但是,您遇到了问题,因为您的输入格式不同。我们不能使用相同的面具来匹配NOVEMBER和MAR;第二个日期需要'ddth Mar YYYY'的掩码。

因此,您需要编写一个捕获ORA-01861: literal does not match format string并应用不同掩码的函数;根据输入数据的质量,您可能需要具有其中的几个。这种情况在不使用强数据类型的应用程序中很常见,因此在与更严格的系统交互时需要数据清理。