您的位置:58编程 > PostgreSQL 位串类型

PostgreSQL 位串类型

2023-04-19 13:33

 PostgreSQL 位串类型

位串就是一串 1 和 0 的串。它们可以用于存储和可视化位掩码。我们有两种类型的 SQL 位类型:bit(n)bit varying(n),其中 n是一个正整数。

bit类型的数据必须准确匹配长度n; 试图存储短些或者长一些的位串都是错误的。bit varying数据是最长n的变长类型,更长的串会被拒绝。写一个没有长度的bit等效于 bit(1),没有长度的bit varying意味着没有长度限制。

注意

如果我们显式地把一个位串值转换成bit(n), 那么它的右边将被截断或者在右边补齐零,直到刚好n位, 而且不会抛出任何错误。类似地,如果我们显式地把一个位串数值转换成bit varying(n),如果它超过了n位, 那么它的右边将被截断。

请参考第 4.1.2.5 节获取有关位串常量的语法的信息。还有一些位逻辑操作符和串操作函数可用,请见第 9.6 节。

例 8.3. 使用位串类型

CREATE TABLE test (a BIT(3), b BIT VARYING(5));
INSERT INTO test VALUES (B"101", B"00");
INSERT INTO test VALUES (B"10", B"101");

ERROR:  bit string length 2 does not match type bit(3)

INSERT INTO test VALUES (B"10"::bit(3), B"101");
SELECT * FROM test;

  a  |  b
-----+-----
 101 | 00
 100 | 101


一个位串值对于每8位的组需要一个字节,外加总共5个或8个字节,这取决于串的长度(但是长值可能被压缩或者移到线外,如第 8.3 节中对字符串的解释一样)。


阅读全文
以上是58编程为你收集整理的 PostgreSQL 位串类型全部内容。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
相关文章
  •  PostgreSQL DROP VIEW

    PostgreSQL DROP VIEW

    DROP VIEW — 移除一个视图大纲DROP VIEW [ IF EXISTS ] name [, ...] [ CASCADE | RESTRICT ]描述 DROP VIEW删除一个现有的视图...

  •  PostgreSQL REFRESH MATERIALIZED VIEW

    PostgreSQL REFRESH MATERIALIZED VIEW

    REFRESH MATERIALIZED VIEW — 替换一个物化视图的内容 大纲REFRESH MATERIALIZED VIEW [ CONCURRENTLY ] name[ WITH [ NO ] DAT...

  •  PostgreSQL SAVEPOINT

    PostgreSQL SAVEPOINT

    SAVEPOINT — 在当前事务中定义一个新的保存点大纲SAVEPOINT savepoint_name描述 SAVEPOINT在当前事务中建立一个新保存点。保存...

  •  PostgreSQL pgbench

    PostgreSQL pgbench

    pgbench — 在PostgreSQL上运行一个基准测试大纲pgbench-i [option...] [dbname]pgbench [option...] [dbname]描述 pgbench是一...

  •  PostgreSQL postmaster

    PostgreSQL postmaster

    postmaster — PostgreSQL数据库服务器大纲postmaster [option...]描述 postmaster是postgres的一个废弃的别名。参见 postgres...

  • vim状态栏 Vimscript 状态条

    vim状态栏 Vimscript 状态条

    Vim允许自定义每个窗口底部的状态条显示的文字,你可以通过设置statusline选项来进行自定义。执行下面的命令::set statusline=%...

  • vim查看文件类型 Vimscript 检测文件类型

    vim查看文件类型 Vimscript 检测文件类型

    让我们创建一个Potion文件作为插件的测试样本。factorial = (n):total = 1n to 1 (i):total *= i.total.10 times (i):i string p...

  • go 链式调用 GoFrame 链式操作-字段获取

    go 链式调用 GoFrame 链式操作-字段获取

    FieldsStr/FieldsExStr字段获取​FieldsStr用于获取指定表的字段,并可给定字段前缀,字段之间使用"​,​"符号连接成字符串返回...

  • svg渐变色 SVG 渐变 – 线性

    svg渐变色 SVG 渐变 – 线性

    SVG 渐变 - 线性 SVG 线性渐变指的是沿着直线改变颜色,要插入一个线性渐变,只需要在 SVG 文件的 defs 元素内部,创建一个 line...

  •  SVG 实例

    SVG 实例

    SVG 实例 本节解析了一个便于理解的 SVG 图形示例。 简单的 SVG 实例 一个简单的SVG图形例子:这里是SVG文件(SVG文件的保存与SV...

© 2024 58编程 58biancheng.com 版权所有 联系我们
桂ICP备12005667号-32 Powered by CMS