我有一个以下查询
SELECT CONVERT(VARCHAR(8),(select TOP 1 LBD=latest_date
FROM some_table
WHERE latest_date < GETDATE()
ORDER BY latest_date DESC), 112) AS [YYYYMMDD]
这会给我一个像 20150324
这样的值。
现在我在 Java 中有一个变量 var 。
我希望 var 等于查询的结果(所以今天,它会是 var = 20150324,明天它可能会完全不同)。
我该如何实现这个目标?
最佳答案
你的代码看起来像这样。您需要获取适当的 jdbc 驱动程序并适当配置 url,但这只是您如何执行此操作的一个小示例。
import java.sql.*;
class DoQuery {
public static void main (String[] args) {
try {
String url = "jdbc:sqlserver://localhost;databaseName=AdventureWorks;integratedSecurity=true;";
Connection conn = DriverManager.getConnection(url,"","");
Statement stmt = conn.createStatement();
ResultSet rs;
rs = stmt.executeQuery("SELECT CONVERT(VARCHAR(8),(select TOP 1 LBD=latest_date FROM some_table WHERE latest_date < GETDATE() ORDER BY latest_date DESC), 112) AS [YYYYMMDD]");
while ( rs.next() ) {
String myDate = rs.getString("YYYYMMDD");
System.out.println(myDate);
}
conn.close();
} catch (Exception e) {
System.err.println("Got an exception! ");
System.err.println(e.getMessage());
}
}
}
关于java - 如何使用 SQL 查询结果作为 Java 中变量的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29257343/