Вопрос: Как в SQL определить количество часов между двумя датами?
Решение:
SELECT ((24 * extract(DAY FROM (startDate - endDate) DAY(9) TO SECOND)) + extract(hour FROM (startDate - endDate) DAY(9) TO SECOND) + ((1/100) * extract(MINUTE FROM (startDate - endDate) DAY(9) TO SECOND))) FROM exampleTable;startDate - начальная дата
endDate - конечная дата
exampleTable - таблица
Вопрос: Как определить количество дней между двумя датами?
Решение: Просто вычислить разность между ними.
select trunc(sysdate, 'DD') "END" , to_date('2012-12-01', 'YYYY-MM-DD') "START" , (trunc(sysdate, 'DD') - to_date('2012-12-01', 'YYYY-MM-DD')) "DAYS" from dual;
Вопрос: Как сделать цикл на SQL в Oracle?
Решение:
select "start" + (level - 1) , level "level" -- уровень (типа счетчика итераций) from -- "start" - начальное значение, "end" - количество итераций (select 1 "start", 10 "end" from dual) connect by (level <= "end") -- условие (как в цикле while)
Question: How does one add a day/hour/minute/second to a date value?
Answer:
http://www.orafaq.com/faq/how_does_one_add_a_day_hour_minute_second_to_a_date_value
...