我使用
java连接到IBM DB2数据库,但数据以二进制格式存储在数据库中,因此当我获取任何值时,它将以二进制或十六进制格式存在.如何在查询级别的utf-8中将其转换为二进制数据.
获取数据的示例代码 –
String sql = "SELECT poMast.ORDNO from AMFLIBL.POMAST AS poMast ";
Class.forName("com.ddtek.jdbc.db2.DB2Driver");
String url = "jdbc:datadirect:db2://hostname:port;DatabaseName=dbName;";
Connection con = DriverManager.getConnection(url, "username","password");
PreparedStatement preparedStatement = con.prepareStatement(sql);
ResultSet rs = preparedStatement.executeQuery();
System.out.println("ResultSet : \n");
System.out.println(" VNDNO");
while (rs.next())
{
System.out.println(rs.getString("ORDNO"));
}
最佳答案 您可能需要使用
CAST
表达式:
SELECT CAST(poMast.ORDNO as VARCHAR(50)) from AMFLIBL.POMAST AS poMast
根据需要调整VARCHAR长度.该字符串位于数据库代码页(目前通常为UTF-8)中,并在获取时转换为客户端/应用程序代码页.