gpt4 book ai didi

java - SQL 选择时间戳列位于两个时间戳之间的位置

转载 作者:行者123 更新时间:2023-12-01 23:30:58 26 4
gpt4 key购买 nike

我正在尝试获取 SQL 语句来选择时间戳位于两个给定时间戳之间的行。这是我尝试过的。 (这是在 Java servlet 上,并且是 java 时间戳对象

SELECT * FROM dates WHERE dateAvailable >= " + from.toString() + " AND dateAvailable <= " + to.toString();

其中 from 和 to 是时间戳对象这在尝试准备语句时给我一个语法错误,请帮助

最佳答案

JDBC 为此提供了内置类型。使用

PreparedStatement ps = con.prepareStatement(
"SELECT * FROM dates WHERE dateAvailable BETWEEN ? AND ?");
ps.setTimestamp(1, from);
ps.setTimestamp(2, to);

您指定了两个 ? 占位符。您可以将它们设置为您的 TimeStamp 元素。

因为它可能不会立即显而易见,所以使用 PreparedStatement 的目的之一是帮助防止 SQL 注入(inject)。阅读答案 here了解更多详情。

<小时/>

您的无法工作的原因是 Timestamp#toString() 具有不适用于 SQL 的特定格式。

关于java - SQL 选择时间戳列位于两个时间戳之间的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19303126/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com