【发布时间】:2021-12-19 06:50:49
【问题描述】:
我有一个 bytea 格式的字段,我正在尝试计算该字段中有多少个零字节 (postgresql)。
示例字符串:
0x202ee0ed0000000000000000000000000000000000000000000000000000000000014370000000000000000000000000000000000000000000000000000000003f8affe7
我最初试图通过计算00 出现的频率来做到这一点,但这可能不准确,因为这并不能检查它是一个字节还是两个 0 恰好相邻。
我目前正在使用这个regex_replace(从另一个问题中找到)在字节之间强制使用_,以便我可以计算00 的出现次数,但这会使查询速度减慢多个数量级而不是简单的replace 大约 100k-1m+ 行:
regexp_replace(data::text, '(..)', E'\\1_', 'g') - 产生类似20_2e_e0...的东西
我想知道是否有人知道一种更高效的方法来计算字节茶/字符串中零或非零字节的数量?
【问题讨论】:
标签: sql postgresql count bytea