Oracle 中的时间戳转换 SQL
Timestamp conversion in Oracle SQL
我正在使用 Oracle SQL,但我遇到了日期问题。
我得到了一个包含许多 Insert
命令的长脚本,例如:
Insert into MyTable
(TIME,CROSS,BID,ASK)
values (to_timestamp('13-NOV-14 03.38.27.785000000 PM','DD-MON-RR HH.MI.SSXFF AM'),'USD/CHF',0.96294,0.963);
但是,我收到以下错误:
ORA-01843 - "not a valid month"
系统日期格式如下:
22-FEB-15 04.57:18
我尝试了以下命令,但出现格式错误:
alter session set nls_date_format = 'DD-MON-RR HH.MI:SSXFF';
我该如何解决这个问题?
此外,我想将这些日期转换为以下格式:
DD/MM/YYYY HH24:MI:SS.miliseconds
这个转换可以在插入命令中吗?
请指教
怀疑你的locale_specificNLS_DATE_LANGUAGE不一样
使用 to_timestamp 中包含的 NLS_DATE_LANGUAGE 参数尝试以下查询:
to_timestamp('13-NOV-14 03.38.27.785000000 PM','DD-MON-RR HH.MI.SSXFF AM','NLS_DATE_LANGUAGE = AMERICAN')
请参阅 了解另一种改变会话的方法。
我正在使用 Oracle SQL,但我遇到了日期问题。
我得到了一个包含许多 Insert
命令的长脚本,例如:
Insert into MyTable
(TIME,CROSS,BID,ASK)
values (to_timestamp('13-NOV-14 03.38.27.785000000 PM','DD-MON-RR HH.MI.SSXFF AM'),'USD/CHF',0.96294,0.963);
但是,我收到以下错误:
ORA-01843 - "not a valid month"
系统日期格式如下:
22-FEB-15 04.57:18
我尝试了以下命令,但出现格式错误:
alter session set nls_date_format = 'DD-MON-RR HH.MI:SSXFF';
我该如何解决这个问题? 此外,我想将这些日期转换为以下格式:
DD/MM/YYYY HH24:MI:SS.miliseconds
这个转换可以在插入命令中吗?
请指教
怀疑你的locale_specificNLS_DATE_LANGUAGE不一样
使用 to_timestamp 中包含的 NLS_DATE_LANGUAGE 参数尝试以下查询:
to_timestamp('13-NOV-14 03.38.27.785000000 PM','DD-MON-RR HH.MI.SSXFF AM','NLS_DATE_LANGUAGE = AMERICAN')
请参阅