2016-10-24 2 views
0

запрос, который дает ошибку внеявный тип данных преобразования `` date` в NUMBER`

SELECT hire_date+sysdate from Employees; 

Почему оракул не делает неявное DATE для NUMBER преобразования во hire_date+sysdate, как это делает во время hire_date-sysdate. Это потому, что hire_date+sysdate это не имеет смысла? или что-нибудь еще.

Edit: -

Теперь я получил ответ, спасибо всем.

+1

что ваш желаемый результат? –

+2

Что значит для вас добавить две даты? Это обычно не имеет смысла. Что означает 1 марта 2012 года + 17 апреля 1842 года? –

+0

Существует неявное «преобразование типа данных», когда вы _subtract_ одна дата от другой, например, например: 'hire_date - sysdate'. Это просто вычисляет количество дней между двумя датами. Никакая дата не конвертируется ни в какие. Но _adding_ две даты не имеют смысла (как Джастин уже прокомментировал) - то же самое, что умножение двух дат не имеет смысла. Разделить друг на друга. –

ответ

0

На самом деле идентификатор не имеет смысла.

Но запрос:

add_months(hire_date,extract(year from sysdate)*12+ extract(month from sysdate)) +extract(day from sysdate) 
Смежные вопросы