我正在尝试获得xor结果:
SELECT '12e627593dbc2307' ^ '12d2552c66ddc94b';
或者当我在hash
列中包含十六进制的表时:
SELECT hash ^ '12d2552c66ddc94b';
但MySQL说 - 0。
如何获得正确的结果?如果我在VARCHAR(字符串)中有十六进制怎么办?
答案 0 :(得分:0)
如果这些字符串应该是十六进制数字,则需要以 X
为前缀:
SELECT X'12e627593dbc2307' ^ X'12d2552c66ddc94b';
在 MySQL 工作台中运行时,会给出:
'14762547158837836'
结果以十进制显示。这对应于 X'3472755B61EA4C',我相信这是您正在寻找的答案。
答案 1 :(得分:-1)
解决方案:
SELECT CONV('12e627593dbc2307', 16, 10) ^ 0x12d2552c66ddc94b
OR
SELECT CONV(hash, 16, 10) ^ 0x12d2552c66ddc94b