последовательность даты оракула?

У меня есть дб оракула, и мне нужна таблица, содержащая все даты, охватывающие 2 года; например, от 01/01/2011 кому: 01/01/2013.

Сначала я думал о последовательности, но по-видимому единственный поддерживаемый тип является числом, поэтому теперь я ищу эффективный способ сделать это

обман аплодисментов

7
задан Thomas Bonini 18 January 2010 в 12:27
поделиться

2 ответа

Если вы хотите заполнить блок записей последовательными датами, это достаточно легко сделать. Следующий запрос генерирует десять дат. Все, что вам нужно сделать, это настроить начальную дату, чтобы указать вашу начальную точку, и уровень в предложении connect by , чтобы он соответствовал вашей конечной точке, а затем подключить его к ] вставить оператор.

SQL> select (trunc(sysdate, 'MM')-1) + level
  2  from dual
  3  connect by level <= 10
  4  /

(TRUNC(SY
---------
01-JAN-10
02-JAN-10
03-JAN-10
04-JAN-10
05-JAN-10
06-JAN-10
07-JAN-10
08-JAN-10
09-JAN-10
10-JAN-10

10 rows selected.

SQL>
18
ответ дан 6 December 2019 в 10:50
поделиться

Скажем, например, у нас есть таблица с именем: Datums, с таблицей столбца (тип даты) Таблица содержит:

21-01-2010
22-01-2010
01-12-2009
06-10-2008
03-07-2007

Тогда вы можете использовать:

SELECT * 
  FROM datums 
 WHERE datum 
 BETWEEN to_date('01/01/2009','mm/dd/yyyy') 
     AND to_date('12/31/2010','mm/dd/yyyy')

Результат:

21-01-2010
22-01-2010
01-12-2009
0
ответ дан 6 December 2019 в 10:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: