1

如何使用 OTL 将可能是二进制的数据插入 Varchar2?(OCI/OCCI 当然可以)

背景:我们有很多 Varchar2 列,它们通常不是二进制的,但有一天可能会发生(我特别关心 \0 和 UTF-8)

星期二:我发布了这个相关问题: 如何在 Oracle Varchar2 中存储字节,并将 ASCII 视为文本

4

1 回答 1

1

如果必须使用 VARCHAR2,则需要先转换二进制数据,例如使用 BASE-64 编码。

因此,如果您从 C++ 调用插入语句,则首先在 C 中对您希望插入的字节进行编码,然后调用该语句以插入结果字符串。

如果您希望从另一个表中插入二进制值,它会变得更加棘手,但您可以在 PL/SQL 函数中对它们进行编码

但是,如果您可以更改数据类型,最好改用 RAW 数据类型。

于 2013-01-20T14:01:46.950 回答