如何在查询级别将 DB2 二进制数据转换为 UTF-8

Mil*_*oni 5 java database db2

我使用 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"));
}
Run Code Online (Sandbox Code Playgroud)

Kev*_*oet 1

您可以将选择的结果“转换”为 utf8,如下所示。

String sql = "SELECT poMast.ORDNO, CAST(poMast.ORDNO AS VARCHAR(255) CCSID UNICODE) FROM AMFLIBL.POMAST AS poMast ";
Run Code Online (Sandbox Code Playgroud)

src:转换 db2