Строка на сегодняшний день в Oracle с миллисекундами

StackOverflow https://stackoverflow.com/questions/1758219

  •  20-09-2019
  •  | 
  •  

Вопрос

Я хочу преобразовать следующую строку в дату:

2004-09-30 23:53:48,140000000

Я пытался:

to_date('#', 'YYYY-MM-DD HH24:MI:SS,FF9')

Но ПЛ/SQL продолжайте выдавать эту ошибку:

ORA-01821: date format not recognized.

FF9 неверен для Oracle, есть какие-нибудь предложения?

Это было полезно?

Решение

Oracle хранит только дроби до секунды в DATE поле.

Использовать TIMESTAMP вместо:

SELECT  TO_TIMESTAMP('2004-09-30 23:53:48,140000000', 'YYYY-MM-DD HH24:MI:SS,FF9')
FROM    dual

, возможно, приведя его к DATE затем:

SELECT  CAST(TO_TIMESTAMP('2004-09-30 23:53:48,140000000', 'YYYY-MM-DD HH24:MI:SS,FF9') AS DATE)
FROM    dual

Другие советы

Я не думаю, что вы можете использовать доли секунды с to_date или типом DATE в Oracle.Я думаю, вам нужен to_timestamp, который возвращает тип TIMESTAMP.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top