ORA-01861: литерал не соответствует строке формата в функции пакета
У меня есть следующий выбор с возвращенным результатом одной строки:
SELECT *
FROM (SELECT (SELECT dokdatum
FROM dokumente
WHERE dokid = '00100002LNWCAJ') AS tckdatum,
aktzeitdatum aktdatum,
(SELECT tckdokzeit
FROM tickets
WHERE tckid = '00100000000ICQ') tckzeit,
(hh * 60 + mm) * 60 AS aktzeit, firmaid
FROM (SELECT TO_DATE (aktdatumuhrzeitunitup,
'DD.MM.YYYY'
) aktzeitdatum,
a.firmaid,
TO_NUMBER (TO_CHAR (aktdatumuhrzeitunitup, 'HH24')
) hh,
TO_NUMBER (TO_CHAR (aktdatumuhrzeitunitup, 'MI')) mm
FROM aktivitaeten a, aktivitaetenarten aa
WHERE a.aktartid = aa.aktartid(+)
/* downtime terminated */
AND aktunitup = 1
AND tckid = '00100000000ICQ'
AND (aktartstatistik IS NULL OR aktartstatistik = 1)
AND a.aktdatumuhrzeitunitup IS NOT NULL)
ORDER BY ((aktdatum - tckdatum) * 24 * 60 * 60 + (aktzeit - tckzeit)
) DESC)
WHERE ROWNUM < 2;
Результат:
11.03.2016 || 11.03.2016 || 41334 || 41940 || 001
Это утверждение выполняется без ошибок. Но когда я пытаюсь использовать его в функции пакета с
FUNCTION xy ...
IS
CURSOR c_cdt_aktdatumuhrzeitunitup
IS
--the above select
r_cdt_aktdatumuhrzeitunitup c_cdt_aktdatumuhrzeitunitup%ROWTYPE;
BEGIN
OPEN c_cdt_aktdatumuhrzeitunitup;
--Exception is thrown with this statement
FETCH c_cdt_aktdatumuhrzeitunitup
INTO r_cdt_aktdatumuhrzeitunitup;
Тогда я получаю ORA-01861: literal does not match format string
ошибка на FETCH...INTO
линия
Кто-нибудь знает почему?