MySQL将枚举值转换为整数值

时间:2014-03-19 18:19:43

标签: mysql django django-models enums

我有一张表格,其中包含一个ENUM字段,其中包含值' B' N' N' F' F' V' V' 。我想给这些字母分配一个重量:

B: -2
N: -1
F: 1
V: 2

这些权重应出现在select语句的列中。最后,我想将这些值一起添加。这可能吗?

目标是在django中执行此操作,但使用MySQL也可以。

2 个答案:

答案 0 :(得分:1)

select sum(case when enum_field = 'B' then -2
                when enum_field = 'N' then -1
                when enum_field = 'F' then 1
                when enum_field = 'V' then 2   
           end) as total_sum
from your_table

答案 1 :(得分:1)

使用CASE表达式:

select sum(case enum_field
                when 'B' then -2
                when 'N' then -1
                when 'F' then 1
                when 'V' then 2   
           end) as total_sum
from your_table