我的数据库中有一个非常简单的评级系统,每个评级都存储为枚举('1',' - 1').要计算我尝试使用此语句的总数:
SELECT SUM(CONVERT(rating, SIGNED)) as value from table WHERE _id = 1
Run Code Online (Sandbox Code Playgroud)
这适用于正1但由于某种原因-1被解析为2.
任何人都可以帮助或提供煽动吗?
或者我应该放弃并将列更改为SIGNED INT(1)?
小智 13
只能int在MySQL中进行此转换enum:
CAST(CAST(`rating` AS CHAR) AS SIGNED) as value from table WHERE _id = 1
Run Code Online (Sandbox Code Playgroud)