在SUM查询期间是否可以使用CAST值?

时间:2011-02-08 21:59:51

标签: mysql casting sum

我有一个简单的查询来汇总列的值。但是对于布尔值,我使用的是ENUM字段,它将所有值存储为字符串,因此SUM工作不正确。 MySQL允许在选择和排序期间对值执行CASTING操作,但似乎它对数学函数不起作用。

以下是我的查询示例:

SELECT SUM(CAST(`tables` AS SIGNED)) AS total FROM event_guests WHERE `event_id`='1923'

我做错了吗?

1 个答案:

答案 0 :(得分:1)

尝试在SQL变量中指定转换字段。然后在Maths操作中使用该变量。


SET @v2 = CAST('tables' AS SIGNED);
SELECT (@v1 := CAST(`tables` AS SIGNED)) AS signed_tables, SUM(@v1) AS total FROM event_guests WHERE `event_id` = '1923';