1

我在查询中遇到错误,这有什么问题,总是说需要 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')
4

2 回答 2

1

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

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

于 2012-07-11T08:23:40.210 回答