|
|
|
список дат
|
|||
|---|---|---|---|
|
#18+
Как получить список дат начиная с НАЧАЛЬНАЯ_ДАТА и кончая КОНЕЧНАЯ_ДАТА? Впринципе меня устраивает запрос типа select НАЧАЛЬНАЯ_ДАТА+rownum-1 dt from НЕКОТОРАЯ_ТАБЛИЦА where rownum < КОНЕЧНАЯ_ДАТА-НАЧАЛЬНАЯ_ДАТА+2 где НЕКОТОРАЯ_ТАБЛИЦА любая таблица в БД. Но у этого запроса есть один недостаток: в НЕКОТОРАЯ_ТАБЛИЦА должно быть не менее КОНЕЧНАЯ_ДАТА-НАЧАЛЬНАЯ_ДАТА+1 строк. Может можно как-то по другому сделать цыкл - без использования таблиц? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2002, 06:07 |
|
||
|
список дат
|
|||
|---|---|---|---|
|
#18+
Я тоже помню, в свое время ломал голову, как решить аналогичную вашей, уважаемый niсk, задачу. Нужно было выводить месяц и кол-во чего-то там за каждый день месяца. И кроме того, что ниже, ничего, увы, в голову не пришло: SELECT * FROM ( SELECT 1 AS Day FROM DUAL UNION ALL SELECT 2 AS Day FROM DUAL UNION ALL SELECT 3 AS Day FROM DUAL UNION ALL SELECT 4 AS Day FROM DUAL UNION ALL SELECT 5 AS Day FROM DUAL UNION ALL SELECT 6 AS Day FROM DUAL UNION ALL SELECT 7 AS Day FROM DUAL UNION ALL SELECT 8 AS Day FROM DUAL UNION ALL SELECT 9 AS Day FROM DUAL UNION ALL SELECT 10 AS Day FROM DUAL UNION ALL SELECT 11 AS Day FROM DUAL UNION ALL SELECT 12 AS Day FROM DUAL UNION ALL SELECT 13 AS Day FROM DUAL UNION ALL SELECT 14 AS Day FROM DUAL UNION ALL SELECT 15 AS Day FROM DUAL UNION ALL SELECT 16 AS Day FROM DUAL UNION ALL SELECT 17 AS Day FROM DUAL UNION ALL SELECT 18 AS Day FROM DUAL UNION ALL SELECT 19 AS Day FROM DUAL UNION ALL SELECT 20 AS Day FROM DUAL UNION ALL SELECT 21 AS Day FROM DUAL UNION ALL SELECT 22 AS Day FROM DUAL UNION ALL SELECT 23 AS Day FROM DUAL UNION ALL SELECT 24 AS Day FROM DUAL UNION ALL SELECT 25 AS Day FROM DUAL UNION ALL SELECT 26 AS Day FROM DUAL UNION ALL SELECT 27 AS Day FROM DUAL UNION ALL SELECT 28 AS Day FROM DUAL UNION ALL SELECT 29 AS Day FROM DUAL UNION ALL SELECT 30 AS Day FROM DUAL UNION ALL SELECT 31 AS Day FROM DUAL ) A, PblIndaysCounts B WHERE B.DayID(+)= TO_NUMBER(TO_CHAR(SYSDATE,'YYYYMM')||DECODE( SIGN(A.Day-10), -1, '0'||A.Day, A.Day)) Ну а почему бы вам не остановиться на вашем же варианте? Ведь с точки отсчета прошло немного-нимало чуть менее 731 тысячи дней. Думаю, такой объем записей из одного столбца ничуть не нагрузит базу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2002, 06:27 |
|
||
|
список дат
|
|||
|---|---|---|---|
|
#18+
Кому интересно. Вот что мне ответил Вячеслав Лейчинский. SELECT * FROM TABLE(cast ( ORDSYS.Calendar.TimeStampsBetween( ORDSYS.ORDTCalendar(0,'Daily',4,ORDSYS.ORDTPattern(ORDSYS.ORDTPatternBits(1),'01.01.2001'), '01.01.2001','31.03.2001',ORDSYS.ORDTExceptions(),ORDSYS.ORDTExceptions()), '01.01.2001','31.03.2001') as ORDSYS.ORDTDateTab)) Поподробнее - это здесь Oracle8i Time Series User's Guide (зависит от версии) http://technet.oracle.com/docs/products/oracle8i/doc_library/817_doc/inter.817/a67294/toc.htm ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2002, 06:51 |
|
||
|
список дат
|
|||
|---|---|---|---|
|
#18+
Список дат от начальной до конечной WITH t AS (SELECT t.begdate, (t.enddate - t.begdate + 1) n FROM (SELECT TO_DATE ('29.01.2001', 'dd.mm.yyyy') begdate, TO_DATE ('05.02.2001', 'dd.mm.yyyy') enddate FROM DUAL) t) SELECT (t.begdate + dubl.lvl - 1) f_oper_date FROM t INNER JOIN ( SELECT LEVEL lvl FROM DUAL CONNECT BY LEVEL <= ( SELECT MAX (n) FROM t)) dubl ON t.n >= dubl.lvl Результат F_OPER_DATE 29.01.2001 30.01.2001 31.01.2001 01.02.2001 02.02.2001 03.02.2001 04.02.2001 05.02.2001 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2010, 12:02 |
|
||
|
список дат
|
|||
|---|---|---|---|
|
#18+
__Marusya__, 8 лет кануло, а тег SRC в этой ветке так и не прижился. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2010, 12:04 |
|
||
|
список дат
|
|||
|---|---|---|---|
|
#18+
Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2010, 12:14 |
|
||
|
список дат
|
|||
|---|---|---|---|
|
#18+
-2-__Marusya__, 8 лет кануло, а тег SRC в этой ветке так и не прижился. да ладно - первый пост же.. :) 2 __Marusya__, качество восприятия ваших скриптов резко повысится, если перед публикацией вы будете обрамлять их тегом SRC (текст надо выделить и кнопку [src] вжать) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2010, 12:17 |
|
||
|
список дат
|
|||
|---|---|---|---|
|
#18+
Алымов Анатолий, спасибо приогромное!)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2010, 12:56 |
|
||
|
список дат
|
|||
|---|---|---|---|
|
#18+
orawish да ладно - первый пост же.. :) Кажется, это рекорд некропостинга... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2010, 13:09 |
|
||
|
список дат
|
|||
|---|---|---|---|
|
#18+
nick, Уже была такая тема, не стал искать, выложу сохраненный у меня результат Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2010, 15:18 |
|
||
|
список дат
|
|||
|---|---|---|---|
|
#18+
UScorpnick, Уже была такая тема Эт да... Была такая тема... ТС, скорее всего будет рад узнать, что на вопрос заданный им 20 мая 2002-го года в 2010 уже нашлось более красивое решение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2010, 17:06 |
|
||
|
список дат
|
|||
|---|---|---|---|
|
#18+
envUScorpnick, Уже была такая тема Эт да... Была такая тема... ТС, скорее всего будет рад узнать, что на вопрос заданный им 20 мая 2002-го года в 2010 уже нашлось более красивое решение. Представляю себя как он жил все эти годы... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2010, 17:14 |
|
||
|
список дат
|
|||
|---|---|---|---|
|
#18+
Вот это вот тронуло до глубины души: Код: plaintext 1. Какой полет инженерной мысли! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2010, 00:04 |
|
||
|
список дат
|
|||
|---|---|---|---|
|
#18+
Ну и я отмечусь некропостингом)) Запрос от Алымов Анатолий, только с указанием необходимого диапазона дат один раз Код: plsql 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2016, 12:22 |
|
||
|
список дат
|
|||
|---|---|---|---|
|
#18+
Ни и добью)) Список дат + N дней Код: plsql 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2016, 13:02 |
|
||
|
список дат
|
|||
|---|---|---|---|
|
#18+
редконосюдазахаживающий, - заходилбытыещереже. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2016, 13:10 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=36750026&tid=1887376]: |
0ms |
get settings: |
7ms |
get forum list: |
21ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
210ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
73ms |
get tp. blocked users: |
1ms |
| others: | 233ms |
| total: | 566ms |

| 0 / 0 |
