【发布时间】:2021-10-06 01:09:48
【问题描述】:
我的项目使用的是 Oracle 数据库,一切正常。为了测试的目的,我设置了一个 H2 db。以下查询现在会引发错误:
"SELECT * FROM ERESIS.ECH_HISFAB f WHERE f.FG_ETAT = 'A' AND TO_DATE(DT_INS) > '30-AUG-18' ORDER BY f.CD_MAT"
错误:
Cannot parse "TIMESTAMP" constant "30-AUG-18"; SQL statement:
我可以通过设置 TO_DATE('30-AUG-2018') 之类的字符串来修复错误,但是更改查询类型会破坏目的,因为我已经确定查询有效(但我需要它来测试服务)。有什么办法可以绕过这个错误而不改变查询?
【问题讨论】:
-
DATE和TIMESTAMP之间存在差异。此链接可能会有所帮助 - stackoverflow.com/questions/19141030/…。 -
为什么将 DATE 值存储在
varchar列中?刚开始这真的很糟糕。 -
@Nik 知道服务器是如何工作的还是我错过了什么?
-
@a_horse_with_no_name 不是我的项目,我只需要为它编写测试。
-
@aratata 请检查这是否有帮助 - stackoverflow.com/questions/14138532/…