gpt4 book ai didi

java - 使用 LIKE 仅搜索包含年份和月份的日期

转载 作者:行者123 更新时间:2023-11-29 00:17:26 24 4
gpt4 key购买 nike

我想过滤我的表格以按月显示记录,所以我为用户输入制作了一个文本框。现在我不知道我的查询是否正确。我没有任何错误,但也没有任何结果。我使用 LIKE 是因为我没有提供具体的日期。有人可以建议更好的方法吗?

enter image description here

enter image description here

ConnectToDatabase conn = null;
conn = ConnectToDatabase.getConnectionToDatabase();
String query = "Select * from inventoryreport where InDate LIKE "+txtYear.getText()+""+ txtMonth.getText()+"";
conn.setPreparedStatement(conn.getConnection().prepareStatement(query));
conn.setResultSet(conn.getPreparedStatement().executeQuery());
java.sql.ResultSetMetaData metaData = conn.getResultSet().getMetaData();
int columns = metaData.getColumnCount();
for (int i = 1; i <= columns; i++) {
columnNames.addElement(metaData.getColumnName(i));
}

最佳答案

LIKE 这是错误的选择,因为您的数据库不使用索引并且会很慢(并且不起作用)。查询是这样的:

SELECT * FROM inventoryreport WHERE YEAR(Date_column) = 2014 AND MONTH(Date_column) = 3;

所以你的代码是:

String query = "Select * from inventoryreport where YEAR(InDate) = " +txtYear.getText()+" AND MONTH(InDate) = "+ txtMonth.getText();

关于java - 使用 LIKE 仅搜索包含年份和月份的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22493562/

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