帮助我了解Oracle中的CLOB和BLOB之间的区别

发布于 2021-01-29 15:07:21

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

  • CLOB用于XML,JSON等文本。您不应假定数据库将使用哪种编码(至少在应用程序中)存储该编码,因为它将被转换为配置为数据库使用的任何编码。
  • BLOB用于二进制数据。您可以合理地确定,它们将以您的发送方式存储,并且您将获得与发送时完全相同的数据。

因此,换句话说,我有一些二进制数据(在这种情况下为腌制的python对象)。我需要确保,当我发送它时,它将完全按照我的发送方式进行存储,并且当我将其取回时,它将完全相同。BLOB是我想要的,对吗?

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

关注者
0
被浏览
64
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    CLOB是对编码和排序规则敏感的,BLOB而不是。

    当您写到CLOBusing中时,CL8WIN1251您会写一个0xC0(西里尔字母А)。

    使用读回数据时AL16UTF16,您将返回0x0410,这是UTF16这封信的代表。

    如果您正在阅读BLOB,则会得到相同的结果0xC0



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看