2016-01-26 2 views
0

В Oracle 11g я создал таблицу фактов с датой в качестве раздела и site_id как подраздел.Oracle sub-partition показывает данные, но запрос оракула с использованием фильтра не отображает данные

Анализ выполняется ежедневно на этой таблице. но на основе одного дневного интервала выполняется анализ этапа.

В инструменте SQL DEVELOPER, когда я открываю определение таблицы, на вкладке раздела я могу видеть раздел как 23-JAN-2016. Для всех site_ids я могу видеть подраздел.

Select * from NPM.EH_MODEM_HIST_PRFRM_FACT subpartition(SYS_SUBP1256625); 

Когда я запускаю вышеуказанный запрос, я могу видеть данные.

Но я бегу под запросом, используя отчет sql; но таблица не запрашивает данные

select * from NPM.EH_MODEM_HIST_PRFRM_FACT 
where time_stamp ='23-JAN-16' and site_id =580 

Есть ли проблемы при управлении этой таблицей?

+0

Возможно, неверный формат времени в литеральной форме. – jarlh

+0

мы переместили этот стол с 6 дней. Он отлично работает для всех подразделов за все 6 дней, за исключением одного одного подраздела. – user1468031

+0

Столбец 'time_stamp' в таблице eh_modem_hist_prfrm_fact? Если да, то какой тип данных? – Boneist

ответ

0

Возможно, что вы на самом деле после того, как что-то вроде:

select * 
from NPM.EH_MODEM_HIST_PRFRM_FACT 
where time_stamp >= to_date('23/01/2016', 'dd/mm/yyyy') 
and time_stamp < to_date('23/01/2016', 'dd/mm/yyyy') + 1 
and site_id = 580; 

выше предполагает, что тип данных для столбца time_stamp является DATE. Если это на самом деле TIMESTAMP, то вы должны использовать SQL ниже:

select * 
from NPM.EH_MODEM_HIST_PRFRM_FACT 
where time_stamp >= to_date('23/01/2016', 'dd/mm/yyyy') 
and time_stamp < to_date('23/01/2016', 'dd/mm/yyyy') + interval '1' day 
and site_id = 580; 

Заметим также, что я указал дату с четырехзначным года. Двухзначные годы - это только предварительные пред-y2k! * {;-)

Смежные вопросы