powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Выборка по интервалу дат
20 сообщений из 20, страница 1 из 1
Выборка по интервалу дат
    #39694751
very_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день! Есть таблица в записями в которой есть Год YEAR и месяц MONTH создания записи.
Каким образом можно грамотно сделать выборку записей из этой таблицы по интервалу дат, к примеру за период с 01.01.2017 по 01.10.2018?
...
Рейтинг: 0 / 0
Выборка по интервалу дат
    #39694759
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
very_грамотно……иметь один date-столбец.
...
Рейтинг: 0 / 0
Выборка по интервалу дат
    #39694761
very_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Уже не получается
...
Рейтинг: 0 / 0
Выборка по интервалу дат
    #39694764
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
very_с 01.01.2017 по 01.10.2018?ну-ну...
...
Рейтинг: 0 / 0
Выборка по интервалу дат
    #39694767
Dshedoo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
very_,
Учитывая, что формат полей YEAR и MONTH вы скрыли, то
Код: plsql
1.
2.
3.
4.
5.
with q as (select to_date(01.01.2017,'DD.MM.YYYY') as b_date,  to_date(01.10.2018,'DD.MM.YYYY') as e_date from dual)

select * from table t join q on t.year >= to_char(b_date,'YYYY') and t.year <= to_char(e_date,'YYYY')
and to_date(YEAR||MONTH,'YYYYMM') >= to_char(b_date,'YYYYMM')
and to_date(YEAR||MONTH,'YYYYMM') <= to_char(e_date,'YYYYMM')
...
Рейтинг: 0 / 0
Выборка по интервалу дат
    #39694797
123йй
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dshedoo
and to_date (YEAR||MONTH,'YYYYMM') >= to_char (b_date,'YYYYMM')
ну ну.
...
Рейтинг: 0 / 0
Выборка по интервалу дат
    #39694810
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
very_,

where to_date(to_char(MONTH,'FM00')||to_char(YEAR,'FM0000'),'mmyyyy') between trunc(d_begin,'mm') and last_day(d_end)

....
stax
...
Рейтинг: 0 / 0
Выборка по интервалу дат
    #39694817
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stax,

ой
last_day лишнее

....
stax
...
Рейтинг: 0 / 0
Выборка по интервалу дат
    #39694876
MaximaXXL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stax,

как правильно заметил -2- 21657275
Как понять в end_date что это 01.10.2018 если в исходном нету дня?

Надо менять постановку и выбрасывать оттуда дни, чтоб было за период [01.2017 по 10.2018] включительно или [01.2017 по 09.2018] включительно. И уйти от понятия дней.
...
Рейтинг: 0 / 0
Выборка по интервалу дат
    #39694936
SkilledJunior
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plsql
1.
YEAR*100+MONTH >= 201701 and YEAR*100+MONTH < 201810
...
Рейтинг: 0 / 0
Выборка по интервалу дат
    #39695046
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SkilledJunior
Код: plsql
1.
YEAR*100+MONTH >= 201701 and YEAR*100+MONTH < 201810

индекс, гуд бай
...
Рейтинг: 0 / 0
Выборка по интервалу дат
    #39695056
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreymxиндекс, гуд бай

FBI индекс hello.

SY.
...
Рейтинг: 0 / 0
Выборка по интервалу дат
    #39695163
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А не лучше ли
YEAR*12+MONTH >= 2017*12+01
and YEAR*12+MONTH < 2018*12+10
...
Рейтинг: 0 / 0
Выборка по интервалу дат
    #39695174
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreymxА не лучше ли
YEAR*12+MONTH >= 2017*12+01
and YEAR*12+MONTH < 2018*12+10

А чем лучше?

SY.
...
Рейтинг: 0 / 0
Выборка по интервалу дат
    #39695186
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SYFBI индекс
Если редакция rdbms позволит.
...
Рейтинг: 0 / 0
Выборка по интервалу дат
    #39695200
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey_anonymousЕсли редакция rdbms позволит.

Ну замшелые пусть сами о себе пекутся
Concepts and Usage of Function Based Indexes(Doc ID 66277.1).

SY.
...
Рейтинг: 0 / 0
Выборка по интервалу дат
    #39695291
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey_anonymousSYFBI индексЕсли редакция rdbms позволит.Откуда дровишки?
...
Рейтинг: 0 / 0
Выборка по интервалу дат
    #39695476
SkilledJunior
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
andreymxА не лучше ли
YEAR*12+MONTH >= 2017*12+01
and YEAR*12+MONTH < 2018*12+10
Какой интервал задан циферками 24211 и 24228?
...
Рейтинг: 0 / 0
Выборка по интервалу дат
    #39695569
SkilledJunior
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
andreymxиндекс, гуд бай
Не нравится FBI индекс, тогда как вариант: (YEAR, MONTH) in ... connect by level в помощь
...
Рейтинг: 0 / 0
Выборка по интервалу дат
    #39695648
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ElicОткуда дровишки?

До 9.2 FBI был только в EE.

SY.
...
Рейтинг: 0 / 0
20 сообщений из 20, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Выборка по интервалу дат
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]