1

我正在编写一个 JDBC 应用程序。我的任务是从 SQL 服务器获取数据加密它们,然后将它们作为varbinary字段存储在另一个表中。我已经成功地将所有 sql 数据类型转换为二进制,除了十进制字段。

我正在使用getBytes()JDBC 的方法来获取这个十进制字段的字节。但是我收到的字节不是有效字节,例如我在 sql 中运行一个查询,它将十进制转换为二进制

declare @deci decimal(18,2)
set @deci = 2.33
print cast(@deci as varbinary)

结果我得到了—— 0x12020001E9000000(为了让我的应用程序正常工作,我需要在 JDBC 端使用这个二进制文件):(5 个字节)

但在 JDBC 方面,我得到的字节为(对于相同的值)- 2,1,-23,3,0(5 个字节)(我正在打印每个字节的值)

有人可以帮我理解其中的区别吗?以及如何将这些 JDBC 字节转换为以上varbinary

提前致谢

4

0 回答 0