نمایش بازه زمانی ساعتی بین دو زمان در اوراکل
در این مثال من یک ساعت شروع دارم 07:00 و یک ساعت پایان 17:00، حال می خواهم که کلیه زمان های بین این دو ساعت را بصورت رکوردهای جداگانه بدست بیاورم.
در ابتدا در قسمت انتهاي كوئري اختلاف عددي را كه مي خواهيد تكرار صورت گيرد وارد مي كنيد در اين مثال مي خواهيد ساعت بين 7 تا 18 را بدست آوريم.
در قسمت فيلدها: از دو فيلد مجازي استفاده مي كنيم و level را نسبت به اعدادي كه مي خواهيم بدست آوريم، عدد انتهایی را یک عدد به آن اضافه (1+) مي كنيم.
select Lpad(level+6,2,0)||':00' first_time, Lpad(level+7,2,0)||':00' end_time
from dual
connect by level < (18-7)
from dual
connect by level < (18-7)
Result:
07:00 08:00
08:00 09:00
09:00 10:00
10:00 11:00
11:00 12:00
12:00 13:00
13:00 14:00
14:00 15:00
15:00 16:00
16:00 17:00
07:00 08:00
08:00 09:00
09:00 10:00
10:00 11:00
11:00 12:00
12:00 13:00
13:00 14:00
14:00 15:00
15:00 16:00
16:00 17:00