我必须在 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 - “日期格式无法识别”)。
对于这种以毫秒为单位的格式,我应该使用哪个“字符串”?
最佳答案
Oracle DATE
存储的时间精度不会超过一秒。您无法在 DATE
列中存储毫秒精度数据。
您的两个选择是在将毫秒字符串转换为 DATE
之前截断它,即
to_date( substr('23.12.2011 13:01:001', 1, 19), 'DD.MM.YYYY HH24:MI:SS' )
或者将字符串转换为支持毫秒精度的TIMESTAMP
to_timestamp( '23.12.2011 13:01:001', 'DD.MM.YYYY HH24:MI:SSFF3' )
关于oracle - 使用 Oracle to_date 函数获取带毫秒的日期字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9180014/