Я пишу этот запрос, чтобы найти данные между двумя датами. Формат времени у меня есть, так же, как тот, который я использую в запросеФормат даты, ORACLE
select TO_CHAR(REC_NO),(FIRSTNAME ||' '|| LASTNAME) as NAME,
LOC_NAME,TO_CHAR(START_TIME,'yyyy/mm/dd/HH:MI:SS'),
TO_CHAR(END_TIME,'yyyy/mm/dd/HH:MI:SS'),
TT_NO,CUST_ID,CUST_MOB,MAC_ADDR,EMAIL_ID,s.STATUS
from vw_rtb_visit_assn v
left join [email protected] s on v.TT_NO = s.TICKETNUMBER and TT_NO = '123'
and v.ASSN_TIME between to_date('Tue Dec 16 00:00:00 PKT 2014','yyyy/mm/dd')
and to_date('Wed Dec 17 00:00:00 PKT 2014','yyyy/mm/dd')
Мой запрос не выполняется и дает мне исключение формата.
Ваши вызовы 'to_date' ошибочны, вы должны прочитать документацию по форматированию даты: https://docs.oracle.com/cd/B28359_01/server.111/b28286/sql_elements004.htm#SQLRF00210 – mavroprovato
' to_date (' Wed Dec 17 00:00:00 PKT 2014 ',' yyyy/mm/dd ') 'не имеет никакого смысла. Маска формата, которую вы предоставляете, даже не дистанционно выравнивается с литералом. –
Вам не нужно выполнять синтаксический анализ строк, просто укажите даты как литералы даты, например 'DATE '2014-12-16''. Литерал даты - это фактическое значение даты, а не строка, которая требует синтаксического анализа в определенном формате. –