我有一些数据存储为无符号 smallint(在 mariadb 中)。大多数时候,我宁愿将其视为已签名的 smallint。有没有办法将未签名的 smallint 转换为已签名的 smallint?
对于符号之间的转换,“CAST”函数的行为不符合预期。它显然是为了在字符串和数字之间进行转换,甚至不支持 smallint 作为参数。
用手工编码的逻辑来做到这一点是最好的方法吗?如 :
IF( number > 32767, number - 65536, number )
还是我缺少某种内置的 mysql 功能?