У меня есть следующий запрос.Дата фильтрации не возвращает корректные данные
SELECT *
FROM (SELECT temp.*, ROWNUM AS rn
FROM ( SELECT (id) M_ID,
CREATION_DATE,
RECIPIENT_STATUS,
PARENT_OR_CHILD,
CHILD_COUNT,
IS_PICKABLE,
IS_GOLDEN,
trxn_id,
id AS id,
MASTER_ID,
request_wf_state,
TITLE,
FIRST_NAME,
MIDDLE,
LAST_NAME,
FULL_NAME_LNF,
FULL_NAME_FNF,
NAME_OF_ORGANIZATION,
ADDRESS,
CITY,
STATE,
COUNTRY,
HCP_TYPE,
HCP_SUBTYPE,
is_edit_locked,
record_type rec_type,
DATA_SOURCE_NAME,
DEA_DATA,
NPI_DATA,
STATE_DATA,
RPPS,
SIREN_NUMBER,
FINESS,
ROW_NUMBER()
OVER (PARTITION BY id ORDER BY full_name_fnf)
AS rp
FROM V_RECIPIENT_TRANS_SCRN_OP
WHERE 1 = 1
AND creation_date >=
to_date('01-Sep-2015', 'DD-MON-YYYY') AND creation_date <=
to_date('09-Sep-2015', 'DD-MON-YYYY')
ORDER BY CREATION_DATE DESC) temp
WHERE rp = 1)
WHERE rn > 0 AND rn < 10;
Проблема в том, что делает выше запрос возвращает данные, который имеет CREATION_DATE, как '09 -Sep-2015' .
NLS_DATE_FORMAT моей базы данных является "DD-MON-RR".
Тип данных столбца create_date - это дата и формат даты, в котором хранится дата, - MM/DD/YYYY.
Имеет ли 'creation_date' компонент времени, который не 0 часов 0 минут 0 секунд? – mustaccio
Да, да. Формат даты, хранящейся в столбце create_date, «9/9/2015 1:07:45 AM» –
Так ясно «9/9/2015 1:07:45 AM» не менее или равно «9/9/2015 0:00:00 AM ", который возвращается' to_date ('09 -Sep-2015 ',' DD-MON-YYYY ') ' – mustaccio