【问题标题】:Setting a bit of bytea column using Postgresql使用 Postgresql 设置一些 bytea 列
【发布时间】:2025-12-14 15:05:02
【问题描述】:

我有一个表,其中有一列类型为 bytea。我想更新它并将第 76 位设置为 1。我应该使用什么查询?

【问题讨论】:

    标签: postgresql


    【解决方案1】:

    要将第 42 位更改为 1,您可以使用

    UPDATE tab
    SET binval = set_bit(binval, 41, 1)
    WHERE ...
    

    请注意,如果您将列更改为EXTERNAL 而不是EXTENDED 存储(请参阅TOAST documentation),则此类操作可能会更快(但会浪费空间)。

    【讨论】:

    • 非常感谢劳伦斯