sql之Oracle SQL 中的时间戳转换

mate10pro 阅读:22 2025-02-15 21:57:57 评论:0

我正在使用 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_specific NLS_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')

参见 this改变 session 的另一种选择。


标签:oracle
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号