gpt4 book ai didi

mysql - MYSQL 中的子字符串二进制数据

转载 作者:行者123 更新时间:2023-11-29 03:32:32 26 4
gpt4 key购买 nike

我在 mysql 的表中有一个二进制列。例如,我需要更新所有行。

用 1 替换第二个字节。不管值是什么。

SELECT HEX(data) FROM table;

然后

UPDATE table SET data[1] = 1; // the idea

但是你如何在 mysql 中做这样的事情呢?

最佳答案

在这里你可以怎么做。首先用hex 函数得到二进制表示。然后在返回值上使用 substringconcat 函数将第二个值替换为 1 并最终更新。

这是一个例子。

CREATE TABLE t (c BINARY(10));
INSERT INTO t SET c = 'b';

select (HEX(c)) from t;

62000000000000000000

SELECT concat(
substring(HEX(c),1,1),
'1',
substring(HEX(c),3,length(HEX(c)))

)
from t

61000000000000000000

现在在更新命令中将所有内容放在一起将替换值

update t set c = unhex(
concat(
substring(HEX(c),1,1),
'1',
substring(HEX(c),3,length(HEX(c)))
)
);

select (HEX(c)) from t;
61000000000000000000

关于mysql - MYSQL 中的子字符串二进制数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28523795/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com