我的表'PORT_DTLS'包含以下字段:TN,Status_id,Req_Start_Time。 Req_Start_Time的时间格式为“8/12/2017 2:22:14.490361 PM”。
我尝试过这个查询..
select TN,Status_id
from PORT_DTLS
where Req_Start_Time between '8/11/2017 2:22:14.490361 PM'
and '8/12/2017 2:22:14.490361 PM';
但我得到'不是有效的月份'错误。
任何人都可以帮助我。
答案 0 :(得分:1)
您的数据看起来像列是TIMESTAMP而不是DATE。您应该使用显式格式来适当地转换这些字符串。
select TN,Status_id
from PORT_DTLS
where Req_Start_Time between to_timestamp('8/11/2017 14:22:14.490361' , 'DD/MM/YYYY HH24:MI:SS.FF')
and to_timestamp('8/12/2017 14:22:14.490361','DD/MM/YYYY HH24:MI:SS.FF');
我假设您的日期为DD/MM
;也许他们真的是MM/DD
,在这种情况下你需要调整我发布的格式掩码。很可能是模糊不清是导致ORA-01843
错误的原因。