我必须向Oracle数据库中执行一些插入操作。我有一些日期,格式如下
'23.12.2011 13:01:001'
在我编写的文档之后,插入to_date如下:
to_date('23.12.2011 13:01:01', 'DD.MM.YYYY HH24:MI:SS')
它可以正常工作。现在我有了毫秒格式的日期
'23.12.2011 13:01:001'
我尝试了以下方法:
to_date('23.12.2011 13:01:001', 'DD.MM.YYYY HH24:MI:SSFF3')
这是不正确的(传递错误01821.00000-"日期格式无法识别")。
对于这种毫秒格式,我应该使用哪个"字符串"?
5条答案
按热度按时间nwlls2ji1#
Oracle
DATE
不会存储精度超过秒的时间。不能在DATE
列中存储毫秒精度数据。您有两个选择,一个是在将毫秒字符串转换为
DATE
之前将其截断,即或将字符串转换为支持毫秒精度的
TIMESTAMP
ddrv8njm2#
TO_DATE支持转换为DATE数据类型,而DATE数据类型不支持毫秒。如果你想在Oracle中支持毫秒,你应该看看TIMESTAMP数据类型和TO_TIMESTAMP函数。
希望能有所帮助。
dldeef673#
对于三位数毫秒:
对于六位数毫秒:
kxeu7u2r4#
您可以尝试以下格式
SS.FF
(毫秒):至时间戳(表_1.date_col,"24小时24日-周一-呼吸频率:MI:SS. FF")
有关详细信息:
https://docs.oracle.com/cd/B19306_01/server.102/b14200/functions193.htm
hsvhsicv5#
您必须将日期类更改为时间戳。