我正在使用文本导入程序在pl / sql developer中上传.csv文件。 我上传的文件有一个列(生效日期),日期格式为'3/1/2009'。但在上传后,当我查询时,它显示为'1/3/2009'。
我必须编写更新查询来纠正它。但如果我有不同日期的大记录,那是不可能的。
有人可以告诉我为什么日期错误更新,以及如何更正。
答案 0 :(得分:0)
Oracle自动从字符串/ varchar转换为日期数据类型。它在您的环境中使用NLS_DATE_FORMAT
来在日期和文本之间来回转换。您可以使用以下语句更改会话的格式:alter session set nls_date_format='MM/DD/YYYY';
。选择适合您数据的格式,'MM / DD / YYYY'似乎就是您所需要的。其他更改NLS_DATE_FORMAT
的方法如下所述:http://www.dba-oracle.com/t_nls_date_format.htm。很可能您不希望在您的环境中永久设置它,而是将其设置为当前活动会话,并且一旦断开连接就会重置它。我这里没有PL / SQL Developer可以尝试,但它可能在某处的菜单中也有类似的设置。