【问题标题】:Question about the description of "bit string type" in the openGauss official website document关于openGauss官网文档中“位串类型”描述的问题
【发布时间】:2022-08-24 10:03:36
【问题描述】:

我注意到在openGauss官网文档中,位串类型是这样描述的:\"A bit string is a string of 1s and 0s\",发现\"character type\"下不包含这种类型\"二进制类型\",它是一个独立的类型。由于描述中提到了\"0, 1\"和\"string\",所以对这个类型有些混淆,提出以下三个问题:

  1. 此类型存储二进制数据还是字符数据?
  2. 如果存储的是二进制数据,根据上个论坛的回答(位串类型没有存储上限),那么位串类型和二进制类型的区别只是位串没有存储空间上限和二进制类型有存储空间限制吗?
  3. 它可以用来存储更大(例如>2GB)的原始二进制数据吗?

    标签: database types


    【解决方案1】:

    位串类型:为01字符串,但为了节省空间,数据库中的底层内存会以01位级别存储。不用过多关注它的底层逻辑,它是一个特殊的字符串,只能由字符01组成。方便为我们存储一些掩码之类的东西。 二进制类型:专门存储二进制。以bytea为例,在SQL语句中输入任意ascii字符,存储对应的ascii二进制,查询显示ascii对应的16进制码。比如插入'a',那么select的结果就是\x61。其他二进制类型类似。 以输入字符'0'为例,bit string类型存储bit 0,bytea存储字符'0'的ascii。查询输出时,位串类型输出字符'0',bytea输出\x30

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-24
      • 2019-10-28
      • 2020-07-30
      • 2021-01-07
      • 1970-01-01
      • 2011-06-03
      相关资源
      最近更新 更多