Есть ли способ обрезать дату, чтобы она по-прежнему использовала индекс по дате - PullRequest
0 голосов
/ 16 апреля 2019

У меня есть огромная таблица с индексом по дате. С помощью индекса я получаю данные, никаких проблем. Но я должен урезать (дату) до месяца, чтобы он включал целый месяц, делая это, я теряю доступ по индексу. Есть ли способ? Thnx

Ответы [ 2 ]

3 голосов
/ 16 апреля 2019

Вам придется избегать любых преобразований в столбце даты. Это можно сделать, например, с помощью следующего предложения (в этом примере приведены все строки за этот месяц):

And (mydatecol >= trunc(sysdate,'MM') and mydatecol < trunc(add_month(sysdate,+1),'MM') )

Просто преобразуйте переменную и не трогайте столбец.

0 голосов
/ 23 апреля 2019

Не хочу оставлять вопрос без ответа, я решил это с помощью метода LAST_DAY(:edate)+1-1/86400 и ADD_MONTHS((LAST_DAY(:edate)+1),-1)

И ДА, я пытался найти способ избежать TRUNC()

...