Oracle查询表示需要AM/PM错误



我在查询中遇到一个错误,这是怎么回事,总是说需要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')

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

to_timestamp('2012-07-11 16:00:00.021','YYYY-MM-DD HH24.MI.SS.FF')
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不存在,但这是另一个问题,更简单。

最新更新