如何使用 OTL 将可能是二进制的数据插入 Varchar2?(OCI/OCCI 当然可以)
背景:我们有很多 Varchar2 列,它们通常不是二进制的,但有一天可能会发生(我特别关心 \0 和 UTF-8)
星期二:我发布了这个相关问题: 如何在 Oracle Varchar2 中存储字节,并将 ASCII 视为文本
如何使用 OTL 将可能是二进制的数据插入 Varchar2?(OCI/OCCI 当然可以)
背景:我们有很多 Varchar2 列,它们通常不是二进制的,但有一天可能会发生(我特别关心 \0 和 UTF-8)
星期二:我发布了这个相关问题: 如何在 Oracle Varchar2 中存储字节,并将 ASCII 视为文本
如果必须使用 VARCHAR2,则需要先转换二进制数据,例如使用 BASE-64 编码。
因此,如果您从 C++ 调用插入语句,则首先在 C 中对您希望插入的字节进行编码,然后调用该语句以插入结果字符串。
如果您希望从另一个表中插入二进制值,它会变得更加棘手,但您可以在 PL/SQL 函数中对它们进行编码。
但是,如果您可以更改数据类型,最好改用 RAW 数据类型。