位串类型

相比于原始的openGauss,dolphin对于位串类型的修改主要为:

  1. bit类型的数据是最长为n的变长类型,超过n的类型会被拒绝。bit varying类型的数据是最长为n的变长类型,超过n的类型会被拒绝。
  2. 如果用户明确地把一个位串值转换成bit(n),则此位串右边的内容将被截断或者在左边补齐零,直到刚好n位,而不会抛出任何错误。
  1. --创建表。
  2. openGauss=# CREATE TABLE bit_type_t1
  3. (
  4. BT_COL1 INTEGER,
  5. BT_COL2 BIT(3),
  6. BT_COL3 BIT VARYING(5)
  7. ) ;
  8. --将不符合类型长度的数据进行转换。
  9. openGauss=# INSERT INTO bit_type_t1 VALUES(2, B'1000'::bit(3), B'101');
  10. --查看数据。
  11. openGauss=# SELECT * FROM bit_type_t1;
  12. bt_col1 | bt_col2 | bt_col3
  13. ---------+---------+---------
  14. 2 | 100 | 101
  15. (2 rows)
  16. --对长度不足的未串转换为bit(n),会在最左侧补齐零。
  17. openGauss=# SELECT B'10'::bit(4);
  18. bit
  19. --------
  20. 000010
  21. (1 row)
  22. --删除表。
  23. openGauss=# DROP TABLE bit_type_t1;