Oracle SQL to_date & to_timestamp ORA-01858: не числовой символ был найден там, где ожидалось числовое значение & ORA-01850: час должен быть между 0 и 23

У меня есть немного кода:

Код

SELECT to_date(it.DSTAMP, 'DD/MM/YYYY') AS "Date", to_timestamp(it.DSTAMP, 'HH24:MI:SS') AS Time
FROM itable it

ошибки

ORA-01858: не числовой символ был найден там, где ожидалось числовое значение 01858. 00000 - "не числовой символ был найден там, где ожидалось числовое значение" * Причина: неверные входные данные для преобразования с использованием модели формата даты, Входные данные не содержали числа, для которого номер требовался моделью формата. * Действие: Исправьте входные данные или модель формата даты, чтобы убедиться, что элементы совпадают по количеству и типу. Затем повторите операцию.

Ошибка, если я удалюto_date

ORA-01850: часы должны быть в диапазоне от 0 до 23 01850. 00000 - "часы должны быть в диапазоне от 0 до 23" * Причина:
* Действие:

DSTAMP поле возвращается 24-SEP-14 08.55.33.997545000 без какого-либо форматирования.

Очевидно, ожидаемый результат

24.09.2014 и 08:55:34

1 ответ

Решение

Кажется, что это.DSTAMP является TIMESTAMP

замещать to_date а также to_timestamp с to_char

SELECT to_char(it.DSTAMP, 'DD/MM/YYYY') AS "Date", to_char(it.DSTAMP, 'HH24:MI:SS') AS Time
FROM itable it
Другие вопросы по тегам