Найти разницу дней на оракуле - PullRequest
0 голосов
/ 29 ноября 2018

Следующий SQL дает мне ошибку неверного номера.

Пожалуйста, сообщите -

select 
  TRUNC(Sysdate-1) - TO_CHAR(TO_DATE("$25->$5 Date",'MM/DD/YYYY HH:MI:SS'), 'MM/DD/YYYY'),
  "$25->$5 Date"
from Conversion_Payer
Where "Benefit Converted" is not null 
  and "$25->$5 Date" is not null

Спасибо!

1 Ответ

0 голосов
/ 29 ноября 2018

Ха;Сначала я думал, что это не Oracle.Очевидно, это равно , но имена столбцов, которые вы используете, более чем ужасны.Я предлагаю вам избавиться от них.

Чтобы получить разницу между двумя DATE столбцами типов данных, вам необходимо преобразовать те, которые не являются DATE.Я предполагаю, что «$ 25 -> $ 5 Date» является символом, поэтому вы тогда

select 
  TRUNC(Sysdate-1) - TO_DATE("$25->$5 Date",'MM/DD/YYYY HH:MI:SS') diff_in_days,
  "$25->$5 Date"
from Conversion_Payer
Where "Benefit Converted" is not null 
  and "$25->$5 Date" is not null

С другой стороны, если «$ 25 -> $ 5 Date» имеет тип данных DATE, то просто вычтитеэто из SYSDATE (т.е. преобразование не требуется):

select 
  TRUNC(Sysdate-1) - "$25->$5 Date" diff_in_days
...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...