Добрый день!
Нужен расчет периода в годах, но именно полных лет, а вычисдяемое поле типа (Data2 - Data1)/365 округляет результат к ближайшему целому.
Подскажите, пожалуйста, как можно получить целую часть (модуль) числа без округления или округлить в меньшую сторону.
Заранее спасибо!
Расчет периода ПОЛНЫХ лет
Модератор: kdv
-
- Заслуженный разработчик
- Сообщения: 1436
- Зарегистрирован: 15 сен 2005, 09:05
А если что-то вроде
?
Код: Выделить всё
EXTRACT(YEAR FROM DATE2) - EXTRACT(YEAR FROM DATE1)
Просто делить - неверный подход. Можно и ошибку в 1 день словить.
Решение есть на sql.ru
Решение есть на sql.ru
Спасибо!
На sql.ru очень приятное решение. Все работает
STAG = extract(year from current_date)-extract(year from :vrdate) +
Case
when extract(month from current_date)>extract(month from :vrdate) then 0
when ((extract(month from current_date)=extract(month from :vrdate)) and
(extract(day from current_date)>=extract(day from :vrdate))) then 0
else -1
end;
На sql.ru очень приятное решение. Все работает
STAG = extract(year from current_date)-extract(year from :vrdate) +
Case
when extract(month from current_date)>extract(month from :vrdate) then 0
when ((extract(month from current_date)=extract(month from :vrdate)) and
(extract(day from current_date)>=extract(day from :vrdate))) then 0
else -1
end;