Получить дату и время из столбца даты в оракуле

Я вставил дату и время в базу данных, теперь, когда пытаюсь получить дату и время из базы данных, получаю только часть времени.

Я попытался вставить дату, используя TO_DATE('08/13/2019 09:10:03', 'MM/DD/YYYY HH24:MI:SS') в столбце «Время». Теперь пытаемся получить дату из таблицы, используя TO_DATE(Time, 'DD/MON/RR HH24:MI:SS'), но получаем только часть даты. Формат даты nls в моей базе данных: «DD/MON/RR». Колонка «Время» — это тип даты, и я использую oracle 10g xe.

Я могу получить дату и время, используя TO_CHAR(Time, 'DD/MON/RR HH24:MI:SS'), но мне нужно использовать это в операции сравнения, как показано ниже:

select TO_CHAR(Time,'DD/MON/RR HH24:MI:SS') from Table where (TO_CHAR(Time, 'DD/MON/RR HH24:MI:SS') <= TO_DATE('08/07/2019 10:13:52', 'MM/DD/YYYY HH24:MI:SS'))

он дает эту ошибку «ORA-01830: изображение формата даты заканчивается до преобразования всей входной строки». Также пробовал использовать TO_DATE(TO_CHAR(Time, 'DD/MON/RR HH24:MI:SS')), все равно дает только временную часть. Должен ли я использовать тип данных TIMESTAMP для столбца «Время»?

Я хочу получить дату и время из таблицы, где я могу использовать их в операции сравнения.


person RRR    schedule 07.08.2019    source источник


Ответы (1)


Дата не должна быть преобразована в дату снова.

Вы можете просто написать свой запрос следующим образом:

SELECT
    TIME -- use to_char for formatting the output date
FROM Table
WHERE
    TIME <= TO_DATE('08/07/2019 10:13:52', 'MM/DD/YYYY HH24:MI:SS')

Ваше здоровье!!

person Popeye    schedule 07.08.2019