Xampp mysql中十六进制字符串的减法

Xampp mysql中十六进制字符串的减法,xampp,mariadb,Xampp,Mariadb,我无意中生成了一些列为十六进制字符串的表,而这些列应该是小数。哎呀。但无论如何,作为查询的一部分,我减去它们: 我找不到文档,所以我来问:两个(十六进制)字符串之间的减法到底是什么意思?它似乎并没有将它们转换为base16整数和减法,这不是不同字符的数量。减去两个不同的字符串会产生0的差值。那么这意味着什么呢?字符串从左到右逐字解释为数字,直到解释停止。这些数字被减去。如果第一个字符是字母,则结果为0 2f - 1f is 1 f - 4xxx is -4 761xxx - facb is 7

我无意中生成了一些列为十六进制字符串的表,而这些列应该是小数。哎呀。但无论如何,作为查询的一部分,我减去它们:


我找不到文档,所以我来问:两个(十六进制)字符串之间的减法到底是什么意思?它似乎并没有将它们转换为base16整数和减法,这不是不同字符的数量。减去两个不同的字符串会产生0的差值。那么这意味着什么呢?

字符串从左到右逐字解释为数字,直到解释停止。这些数字被减去。如果第一个字符是字母,则结果为0

2f - 1f is 1
f - 4xxx is -4
761xxx - facb is 761 
一些进一步的测试:

select '1aaa' - '-1.1bbbb' is 2.1
select '.1aaa' - '-1.1bbbb' is 1.2000000000000002

官方文档:

是MYSQL还是MariaDB?意外地,然后填充了一堆行。所以,删除那些无用的列并开始again@RiggsFolly从技术上讲,是马里亚布。我不是在寻找如何修复这些列,我能找到答案。我只是想知道减法是什么意思。为什么“金额”被存储为十六进制???