我在从同一个表中的另一列更新列时出现问题。我知道这个问题是重复的。但情况就是这样。我有这个表结构:
login | card_id | card_serial
--------------------------------------
A1149 1446700898 NULL
A672 1446845746 NULL
A626 1446581746 NULL
现在,我想使用十六进制函数更新带有十六进制值的card_serial列。数据应该是这样的:
login | card_id | card_serial
--------------------------------------
A1149 1446700898 62E73A56
A672 1446845746 321D3D56
A626 1446581746 F2153956
但是当我尝试使用我的SQL语句更新card_serial列时,它总是返回值 36343431 。
这是我的陈述:
UPDATE card_id_without_serial a
JOIN card_id_without_serial b ON b.login = a.login
SET a.card_serial = concat(substring(hex(b.card_id), 7,2), substring(hex(b.card_id), 5,2), substring(hex(b.card_id), 3,2), substring(hex(b.card_id), 1,2));
请帮帮我,谢谢