【发布时间】:2013-04-08 08:56:41
【问题描述】:
我这里有这个示例语句:
WHERE e.modified_date::DATE between '2013-04-02'::DATE
AND '2013-04-02'::DATE
注意:
这些日期实际上是变量。
在 pgAdmin 中,运行它会得到这个示例表:
username modified_date
Sample 2013-04-02
Sample1 2013-04-02
这是我想要的结果。
但是,从 Java 调用 proc 将一无所获。更改第二个日期将返回之前的示例表。如果日期小于第二个变量,PostgreSQL 似乎正在评估日期。我错过了什么吗?
注意:modified_date 是 timestamp
【问题讨论】:
-
请显示您遇到问题的代码。如果是 Java 代码,请展示一个独立的 Java 类来说明问题。还包括您的 PgJDBC 和 PostgreSQL 版本以及运行测试程序后 PostgreSQL 错误日志的内容。
-
克雷格·林格,感谢您的光临,很抱歉花费您的时间。我能够解决这个问题。我发现是我的测试程序使用这个 'WHERE e.modified_date >= '2013-04-02'::TIMESTAMP AND e.modified_date
-
然后考虑发布一个有用的解释作为答案,以便以后发现此问题的其他人可以从中学习。如果你这样做,请在这里评论,我会投票。
-
嗨,克雷格,答案已发布。
标签: java postgresql stored-procedures