首页 > 解决方案 > PostgreSQL:操作二进制数据 - 使用 SQL 命令更改最后一个字节

问题描述

在 PostgreSQL 表中,我有一个file_bytes数据类型为bytea的列。

我正在寻找一个简单的 SQL 语句来仅操作此列内容的最后一个字节。

标签: sqlpostgresqlpostgresql-10bytea

解决方案


演示:db<>fiddle

UPDATE test 
SET file_bytes = overlay(file_bytes placing 'X'::bytea from octet_length(file_bytes));

https://www.postgresql.org/docs/current/static/functions-binarystring.html

octet_length()给出二进制数据的字节数. overlay()允许从某个位置重写数据。


推荐阅读