Я не уверен, что ответ, который вы ищете, просто вопрос о том, как работать с датами?Если это так, см. Мой ответ, в котором показано, как выполнять вычисления для дат / времени.
Ниже просто добавлен новый столбец, добавленный к вашему запросу, который называется lastupdate_plus_2_days
SELECT p.id||' '||p.lastname||' '||p.firstname||' '|| e.lastupdate + 2
, e.lastupdate + 2 AS lastupdate_plus_2_days
FROM some_TABLE p, othertable e
WHERE p.id = e.id
AND hold = 8
AND id IN
(
SELECT id
FROM othertable
WHERE buildinginfo IS NULL
)
ORDER BY id;
Примеры Работа с датами
/* Working with SYSDATE and to_char formats */
SELECT
sysdate -365 Last_Year,
to_char(to_date('04-DEC-2013', 'DD-MON-YY') - 365, 'DD-MON-YYYY') AS Last_Year2,
add_months(sysdate, -1) Last_Month,
sysdate -7 Last_Week,
sysdate -1 Yesterday,
sysdate Today,
to_char(sysdate, 'DD-MON-YY HH:MI:SS') NOW,
to_char(sysdate + 1/(24*60*60), 'DD-MON-YY HH:MI:SS') "OneSecFrom_NOW",
to_char(sysdate + 2/(24*60*60), 'DD-MON-YY HH:MI:SS') "TwoSecFrom_NOW",
to_char(sysdate + 1/(24*60), 'DD-MON-YY HH:MI:SS') "OneMinFrom_NOW",
to_char(sysdate + 7/(24*60), 'DD-MON-YY HH:MI:SS') "SevMinFrom_NOW",
to_char(sysdate + 1/24, 'DD-MON-YY HH:MI:SS') "OneHrFrom_NOW",
sysdate +1 Tomorrow,
sysdate +7 Next_Week,
last_day(sysdate) as last_day_of_month,
add_months(sysdate, 1) Next_Month,
last_day(add_months(sysdate, 1)) as last_day_of_next_month,
sysdate +365 Next_Year,
/* Below are examples of how you could disect a number of days and spit out how many years, months, days are within those days using the mod function. */
trunc((to_date('02-FEB-14') - to_date('01-JAN-13'))/365) "~yr", trunc(mod((to_date('02-FEB-14') - to_date('01-JAN-13')),365)/31) "~mon", mod(mod((to_date('02-FEB-14') - to_date('01-JAN-13')),365),31) "~days"
FROM
dual;
Является ли этот ответ тем, что вы искали?Если где-то не будет кода, выполняющего «ОБНОВЛЕНИЕ», исходная дата, возвращаемая из вашего запроса «ВЫБОР», никогда не изменит исходного значения даты в таблице, из которой вы извлекаете данные.