VastbaseG100

基于openGauss内核开发的企业级关系型数据库。

Menu

位串类型

相比于原始的Vastbase,在MySQL兼容模式下对于位串类型的修改如下所示(原Vastbase的位串类型未做删除和修改,详细请参考位串类型):

  • bit(n)类型和bit varying(n)类型的数据是最长为n的变长类型,超过n的类型会被拒绝。
  • 如果用户明确地把一个位串值转换成bit(n),则此位串右边的内容将被截断或者在左边补齐零,直到刚好n位,而不会抛出任何错误。

该功能仅在数据库兼容模式为MySQL时支持(即数据库实例初始化时指定DBCOMPATIBILITY='B')。

示例

1、创建测试表。

CREATE TABLE bit_type_t1 
(
    BT_COL1 INTEGER,
    BT_COL2 BIT(3),
    BT_COL3 BIT VARYING(5)
) ;

2、将不符合类型长度的数据进行转换。

INSERT INTO bit_type_t1 VALUES(2, B'1000'::bit(3), B'101');

3、查询数据。

SELECT * FROM bit_type_t1;

返回结果为:

 bt_col1 | bt_col2 | bt_col3
---------+---------+---------
       2 | 100     | 101
(1 row)

4、对长度不足的未串转换为bit(n),会在最左侧补齐零。

SELECT B'10'::bit(4);

返回结果为:

 bit
------
 0010
(1 row)

5、删除表。

DROP TABLE bit_type_t1;