选择 打开 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

文档 / 函数百科 / 二进制串函数和操作符

FUNCTION二进制串函数和操作符

bit_count

返回二进制字符串中设置的位数(也被认为“popcount”)。

Returns the number of bits set in the binary string (also known as “popcount”).

二进制串函数和操作符 引入 14 现存至 20 devel 2 条签名 0 次签名变更

签名数
2 条
引入版本
14
状态
现存
签名变更
未变过
本版来源
本站译文

PostgreSQL 18 手册 · 9.5 二进制串函数和操作符 官方文档

版本轨迹

相对 PostgreSQL 17 无变化。

签名

PostgreSQL 18 里 bit_count 的 2 条签名,按上游手册顺序排列。参数名用斜体,类型用弱化色, 之后是返回类型。说明取自本站手册译文:标「沿用」的借用了另一版的译文,标「EN」的本站暂无译文、按英文原文显示。

  1. bit_count ( bytes bytea ) → bigint

    返回二进制字符串中设置的位数(也被认为popcount)。
    • bit_count('\x1234567890'::bytea)15
  2. bit_count ( bit ) → bigint

    返回位字符串中设置的位数(也被视为popcount)。
    • bit_count(B'10111')4

演化历史

相邻两个大版本之间的差异,新的在前。版本号链到该版的签名。

  1. PostgreSQL 14 ← 13 新增此函数

    PostgreSQL 14 起可用

签名矩阵

每条签名在给出了签名的 7 个版本里的存在情况;方格指向该版的签名。只在正文里提到此函数、没有给出签名的版本不列进来,上面的版本轨迹里仍然有它们。签名文本在 PostgreSQL 13 前后写法不同,跨越那一跳的同一条签名会显示成两行。

存在 不存在

签名 14151617181920
bit_count ( bytes bytea ) → bigint 存在 存在 存在 存在 存在 存在 存在
bit_count ( bit ) → bigint 存在 存在 存在 存在 存在 存在 存在

同组函数

函数 签名 主签名 版本变动 最近变更
BINARY STRING FUNCTIONS AND OPERATORS 二进制串函数和操作符 16 个
bit_count 2 bit_count ( bytes bytea ) → bigint
返回二进制字符串中设置的位数(也被认为“popcount”)。 现存
convert基线 1 convert ( bytes bytea, src_encoding name, dest_encoding name ) → bytea
将表示编码src_encoding的文本的二进制字符串转换为编码dest_encoding的二进制字符串 (适用的转换请参阅Section 23.3.4)。 现存
convert_from基线 1 convert_from ( bytes bytea, src_encoding name ) → text
将表示编码src_encoding的文本的二进制字符串转换为数据库编码中的text。 现存
convert_to基线 1 convert_to ( string text, dest_encoding name ) → bytea
将text字符串(数据库编码)转换为编码dest_encoding中编码的二进制字符串。 现存
crc32 1 crc32 ( bytea ) → bigint
计算二进制字符串的 CRC-32 值。 现存
crc32c 1 crc32c ( bytea ) → bigint
计算二进制字符串的 CRC-32C 值。 现存
decode基线 1 decode ( string text, format text ) → bytea
从文本表示中解码二进制数据;支持的format值与encode相同。 现存
encode基线 1 encode ( bytes bytea, format text ) → text
将二进制数据编码成文本表示;支持的format值为: base32hex, base64, base64url, escape, hex. 现存
get_bit基线 2 get_bit ( bytes bytea, n bigint ) → integer
从二进制字符串中提取 n'th 位。 现存
get_byte基线 1 get_byte ( bytes bytea, n integer ) → integer
从二进制字符串中提取 n'th 字节。 现存
set_bit基线 2 set_bit ( bytes bytea, n bigint, newvalue integer ) → bytea
设置二进制字符串中的n'th位为newvalue。 现存
set_byte基线 1 set_byte ( bytes bytea, n integer, newvalue integer ) → bytea
设置二进制字符串中的 n'th 字节到 newvalue。 现存
sha224 1 sha224 ( bytea ) → bytea
计算二进制字符串的 SHA-224 hash。 现存
sha256 1 sha256 ( bytea ) → bytea
计算二进制字符串的 SHA-256 hash。 现存
sha384 1 sha384 ( bytea ) → bytea
计算二进制字符串的 SHA-384 hash。 现存
sha512 1 sha512 ( bytea ) → bytea
计算二进制字符串的 SHA-512 hash。 现存