gpt4 book ai didi

java - 插入和选择日期 (Java) (MySQL)

转载 作者:可可西里 更新时间:2023-11-01 07:33:12 24 4
gpt4 key购买 nike

我有一个表,我必须在其中执行 SELECT ... BETWEEN start_date AND end_date,以及将 Date 值插入到同一个表中。

我读过这样的东西:

java.util.Date now = new java.util.Date();
pStmt.setDate( 1, new java.sql.Date( now.getTime() ) );
pStmt.setTimestamp( 2, new java.sql.Timestamp( now.getTime() ) );
pStmt.executeUpdate();

但是那种代码设置或获取当前日期,不是吗?我想自己插入和选择自定义日期。

我也在 StackOverflow 阅读它:

SELECT *
FROM myTable
WHERE ( YEAR(myfield) = '2009')
AND ( MONTH(myfield) = '1')

是否也可以将 Date 字段设为 String,然后使用 StringTokenizer 仅提取日、月或年信息并使用他们在类似于此代码的 SELECT 中? (以防我的第一个 - 更简单 - 的想法是不可能的。)

所以到目前为止,有两种可能的解决方案。我还需要知道哪个更快,因为访问的数据库位于具有大量数据的故障安全/关键系统(银行)中。

最佳答案

第一种方法更好,因为您可以使用日期函数来操作值。

private void executeQuery(java.util.Date startDate, java.util.Date endDate) throws SQLException {
Connection conn = null;
PreparedStatement pstmt = null;
try {
conn = getConnection();
String query = "select ... between ? and ?";
pstmt = conn.prepareStatement(query);
pstmt.setDate(1, new java.sql.Date(startDate.getTime()));
pstmt.setDate(2, new java.sql.Date(endDate.getTime()));
//return results
ResultSet rs = pstmt.executeQuery();
rs.last();
System.out.println("last row = " + rs.getRow());
} finally {
if (pstmt != null) {
pstmt.close();
}
if (conn != null) {
conn.close();
}
}
}

关于java - 插入和选择日期 (Java) (MySQL),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13365795/

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