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