2015-07-22 14 views
0

У меня есть таблица и значение даты сохранения в ней, и мне нужно получить это значение и передать это как параметр для функции. Но всякий раз, когда я пытаюсь выполнить свой код, он бросает ошибку какКак передать временную метку функции Oracle?

ORA-00936: missing expression. 

Ниже мой пример кода:

SELECT refno, 
     Tatcalculate(to_timestamp(SELECT h_modified_date 
            FROM TPADETAILS 
            WHERE refno = 'WOC0021946','DD/MM/YYYY HH24:MI:SS')) 
FROM Table1; 

Table1 мой стол и h_modified_date это столбец. Tatcalculate() - функция.

Когда я запускаю внутренний запрос, он возвращает значение даты из таблицы, но когда я выполняю полный запрос выше, то его бросание ошибки.
Кто-нибудь, пожалуйста, помогите мне решить это.

ответ

1

Я бы поставил to_timestamp() вокруг имени столбца, а не вокруг оператора select.

Кроме того, вы должны заключить оператор select в свои собственные скобки. Таким образом:

SELECT refno, Tatcalculate((SELECT to_timestamp(h_modified_date,'DD/MM/YYYY HH24:MI:SS') FROM TPADETAILS WHERE refno='WOC0021946')) 
FROM Table1; 

ETA: Учитывая дополнительную информацию о том, что параметр tatcalculate является DATE тип данных, а также столбец h_modified_date является DATE, нет абсолютно никакой необходимости делать какие-либо преобразования типов данных вообще. Таким образом, запрос будет выглядеть так:

SELECT refno, Tatcalculate((SELECT h_modified_date FROM TPADETAILS WHERE refno='WOC0021946')) 
FROM Table1; 
+0

Я уже пробовал это, и я получил ошибку как ** ORA-01830: конец формата даты заканчивается перед преобразованием всей строки ввода ** –

+0

Что такое тип данных столбца h_modified_date? – Boneist

+0

DATE, а в функции также тип параметра DATE –

0

дать имя столбца

ВЫБОР Код ссылки, Tatcalculate (to_timestamp (SELECT h_modified_date ОТ TPADETAILS ГДЕ Код ссылки = 'WOC0021946', 'ДД/ММ/ГГГГ HH24: MI: SS')), как ТАТ ОТ Таблица 1;

+0

Не решить эту проблему. –

0

Попробуйте .....

SELECT refno, Tatcalculate(to_timestamp((SELECT to_char(h_modified_date,'DD/MM/YYYY HH24:MI:SS') FROM TPADETAILS WHERE refno='WOC0021946'),'DD/MM/YYYY HH24:MI:SS')) 
FROM Table1; 

 Смежные вопросы

  • Нет связанных вопросов^_^