#sql #oracle11g
#sql #oracle11g
Вопрос:
прошло 3 дня, пока я ищу решение, но нет способа в oracle sql, я хочу, чтобы запрос выдал мне следующий результат в первый раз, без создания таблицы в моей базе данных:
Time24
00:00:00
00:00:01
00:00:02
00:00:03
.
.
23:59:59
Спасибо.
Комментарии:
1. Где / как вы хотите это сохранить? Во временной таблице, табличной переменной или просто выводить на экран или что-то еще?
2. Спасибо, Брэд, я хочу распечатать их на экране, как в ответах Алексея и Гордона
3. @APC Да, это старый сервер компании 🙂
4. Боже мой, я только что проверил версию, это 11g, а не 8, извините @ APC!
Ответ №1:
Вы можете использовать connect by
для генерации нужных чисел, а затем отформатировать их в виде строки:
select to_char(to_date('00:00:00', 'HH24:MI:SS') (level - 1) * interval '1' second, 'HH24:MI:SS') as time24
from dual
connect by level < 24*60*60;
Ответ №2:
Это могло бы быть способом построения интервалов, а затем извлечения из них часов, минут и секунд:
select extract(hour from seconds) hours,
extract(minute from seconds) minutes,
extract(second from seconds) seconds
from (
select level * interval '1' second as seconds
from dual
connect by level <60*60*24
)