可以使用SQL语句来实现。以下是一种常见的方法:
// 导入所需的包
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String[] args) {
// JDBC连接信息
String url = "jdbc:mysql://localhost:3306/database_name";
String username = "username";
String password = "password";
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try {
// 连接数据库
conn = DriverManager.getConnection(url, username, password);
// 创建Statement对象
stmt = conn.createStatement();
// 执行SQL查询语句
String sql = "SELECT DISTINCT DATE_FORMAT(date_column, '%Y-%m') AS month FROM table_name";
rs = stmt.executeQuery(sql);
// 提取查询结果
List<String> months = new ArrayList<>();
while (rs.next()) {
String month = rs.getString("month");
months.add(month);
}
// 输出结果
for (String month : months) {
System.out.println(month);
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
// 关闭连接和释放资源
try {
if (rs != null) {
rs.close();
}
if (stmt != null) {
stmt.close();
}
if (conn != null) {
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
上述代码通过执行SQL查询语句获取到数据库表中日期列的所有月份,并将结果存储在一个字符串列表中。你可以将url
、username
、password
、database_name
、table_name
等变量替换为你实际使用的数据库连接信息和表信息。在结果中,每个月份将以"yyyy-MM"的格式进行显示。
该方法通过使用DATE_FORMAT
函数将日期列格式化为月份,并使用DISTINCT
关键字来去重,以确保返回的结果中不包含重复的月份。
领取专属 10元无门槛券
手把手带您无忧上云