我运行这个查询:
SELECT id,like - dislike as result
FROM mytable
Run Code Online (Sandbox Code Playgroud)
列喜欢和不喜欢的是无符号整数.如果列不喜欢像18446744073709551596那样的mysql返回数,那么似乎mysql将此视为无符号并且不能返回负数但是从某种MAX_UNSIGNED_INT继续计算.我怎样才能得到正确的结果
尝试转换这两个值(或者可能仅在它们上面)
SELECT id, convert(like, SIGNED ) - convert(dislike, SIGNED ) as result
FROM mytable
Run Code Online (Sandbox Code Playgroud)
或只是结果
SELECT id, convert(like - dislike, SIGNED ) as result
FROM mytable
Run Code Online (Sandbox Code Playgroud)
在第一种方式,您可以获得类型溢出!第二种方式更好,但我不确定它是否适用于mysql.