SELECT 0x0a+0;
返回10.
为什么
SELECT 0x0a;
什么都不回来?
是否有关于如何编写正确的十六进制文字的图表。任何官方参考相关的mysql手册都会很感激。
答案 0 :(得分:2)
MySQL documentation对此很清楚:
在数字上下文中,十六进制值的作用类似于整数(64位 精确)。在字符串上下文中,它们就像二进制字符串一样 每对十六进制数字都转换为一个字符:
第一种情况是数字上下文,因此它被视为数字。
第二个是无上下文,相当于一个字符串上下文(至少在这种情况下)。 ASCII值为10的字符是换行符,您不会在输出中看到它。