Oracle PL/SQL中的日期格式

Oracle PL/SQL中的日期格式,oracle,plsqldeveloper,Oracle,Plsqldeveloper,我正在使用文本导入器在pl/sql developer中上载一个.csv文件。 我上传的文件有一列(生效日期),日期格式为“3/1/2009”。但上传后,当我查询时,它显示为“1/3/2009” 我必须编写更新查询来更正它。但如果我有大量不同日期的记录,这是不可能的 谁能告诉我为什么日期更新错误,以及如何更正它。Oracle正在自动将字符串/varchar转换为日期数据类型。它在您的环境中使用NLS\u DATE\u格式在日期和文本之间来回转换。您可以使用以下语句更改会话的格式:alter se

我正在使用文本导入器在pl/sql developer中上载一个.csv文件。 我上传的文件有一列(生效日期),日期格式为“3/1/2009”。但上传后,当我查询时,它显示为“1/3/2009”

我必须编写更新查询来更正它。但如果我有大量不同日期的记录,这是不可能的


谁能告诉我为什么日期更新错误,以及如何更正它。

Oracle正在自动将字符串/varchar转换为日期数据类型。它在您的环境中使用
NLS\u DATE\u格式
在日期和文本之间来回转换。您可以使用以下语句更改会话的格式:
alter session set nls_date_format='MM/DD/YYYY'。选择适合您的数据的格式,“MM/DD/YYYY”似乎就是您所需要的。此处介绍了更改NLS_日期_格式的其他方法:。很可能您不想在您的环境中永久设置它,而是为当前活动会话设置它,一旦您断开连接,它将被重置。我这里没有PL/SQL Developer可以尝试,但在菜单的某个地方也可能有类似的设置。

是否使用转换后的字符串更新了日期字段?可能是相同的日期,但格式不同,即您有不同的日期解码/编码模式。您的意思是,在.csv文件中,通过格式单元格,当您导入文本文件时,所有内容都是文本,接下来,像您这样的一些工具将此文本转换为内部数据类型,如日期或数字。在本例中,对于日期,您可以使用默认格式,也可以提供默认格式。这是您的情况吗?我的有一个默认格式(mm/dd/yyyy)和您在pl/sql developer中的默认日期格式?是一样的吗?