Oracle Query表示需要AM / PM错误

时间:2012-07-11 08:17:15

标签: sql oracle datetime

我在查询中收到错误,这有什么问题,总是说AM / PM需要。

select RECORDTYPE, FILEID, SETOFBOOKSNAME, COSTCENTRE, GLACCOUNT, PRODUCT,
CUSTOMERSEGMENT, SUBLEDGER, JOURNALSOURCENAME, JOURNALCATEGORY, EFFECTIVEDATE ,
CURRENCYCODE, ENTEREDDR, ENTEREDCR, CONVERSIONTYPE, CURRENCYCONVERSIONDATE, 
CURRENCYCONVERSIONRATE, CONVERTEDDR, CONVERTEDCR, BATCHNAME, BATCHDESCRIPTION, 
JOURNALNAME, JOURNALDESCRIPTION, SOURCESYSTEMREFERENCE, JOURNALLINEDESCRIPTION 

from glaccount gl 

where EFFECTIVEDATE BETWEEN 
to_timestamp('2012-07-11 16:00:00.021 AM','DD-mm-RR HH.MI.SS.FF AM') and 
to_timestamp('2012-07-11 23:59:59.021 AM','DD-mm-RR HH.MI.SS.FF AM')

2 个答案:

答案 0 :(得分:1)

删除AM(从日期本身开始)并根据您的格式设置日期。它应该改为:

to_timestamp('2012-07-11 16:00:00.021','YYYY-MM-DD HH24.MI.SS.FF')

答案 1 :(得分:1)

to_timestamp('2012-07-11 16:00:00.021 AM','DD-mm-RR HH.MI.SS.FF AM') 

错了。你应该改变

2012-07-1111-07-12

DD-mm-RRyyyy-mm-dd

更新:在此之后,您将获得

  

小时必须介于1到12之间

因为16 AM不存在,但这是另一个问题,更简单。