Что это тип данных столбца? Если это DATE
(как он должен быть), то он не хранится в том формате, который вы говорите. Он хранится во внутреннем двоичном формате. Вы должны/должны использовать функцию to_char для отображения в любом формате, который вы выберете. Если вы не используете функцию to_char, она будет отображаться в формате, указанном NLS_DATE_FORMAT
, который может быть указан в нескольких местах.
Что касается вашего примера, вы передали строковый формат yyyymmd hh: mi: ss.fff ', но вы предоставили маску описания только YYYYMMDD
. Он не знает, что делать с компонентом времени. В дополнение к этому, когда вы SELECT TO_DATE
, oracle также должен сделать подразумеваемый TO_CHAR
, чтобы преобразовать его обратно в строку для отображения.
Кроме того, вы предоставили свой to_date строку символов, содержащую доли секунд. A DATE
тип данных разрешает только секунды. Если вам нужны дробные секунды, вам нужно использовать TIMESTAMP
, а не DATE
.
Привет ребята - тип данных столбца VARCHAR2. – netraider
", который ** хранит ** даты, подобные этому ...", если он хранит данные подобно тому, как это не является столбцом даты, но вы можете вводить в заблуждение отображение даты по умолчанию, как они хранятся, - что не является правда. реальные даты в Oracle хранятся в виде наборов целых чисел, представляющих разные единицы времени. Эти числовые данные преобразуются в читаемый человеком формат по умолчанию db или путем преднамеренного действия через to_char(). Если данные хранятся в виде varchar, то, пожалуйста, скажите это явно. –
, тогда все, что вам нужно, это ** substr (that_column_here, 1, 8) **, если я пропустил что-то –