gpt4 book ai didi

python - 帮我理解Oracle中CLOB和BLOB的区别

转载 作者:IT老高 更新时间:2023-10-28 21:39:58 25 4
gpt4 key购买 nike

这主要只是一个“检查我的理解”类型的问题。以下是我对在 Oracle 中工作的 CLOB 和 BLOB 的理解:

  • CLOB 用于 XML、JSON 等文本。您不应假设数据库会将其存储为何种编码(至少在应用程序中),因为它将转换为数据库配置使用的任何编码。<
  • BLOB 用于二进制数据。您可以放心,它们会以您发送它们的方式存储,并且您会以与它们发送时完全相同的数据取回它们。

换句话说,假设我有一些二进制数据(在本例中是一个腌制的 Python 对象)。我需要保证,当我发送它时,它将完全按照我发送它的方式存储,并且当我取回它时它会完全一样。 BLOB 是我想要的,对吗?

为此使用 CLOB 真的可行吗?还是字符编码会引起足够多的不值得的问题?

最佳答案

CLOB 是编码和排序敏感的,BLOB 不是。

当您使用 CL8WIN1251 写入 CLOB 时,您会写入 0xC0(西里尔字母 А)。

当你使用 AL16UTF16 读回数据时,你会得到 0x0410,这是这个字母的 UTF16 表示。

如果您从 BLOB 中读取,您会得到相同的 0xC0

关于python - 帮我理解Oracle中CLOB和BLOB的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1018073/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com