【问题标题】:MySQL converting enum values to integer valuesMySQL将枚举值转换为整数值
【发布时间】:2014-03-19 18:19:43
【问题描述】:

我有一个表,其中包含一个 ENUM 字段,其值为“B”、“N”、“F”和“V”。我想为这些字母中的每一个分配一个权重:

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

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

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

【问题讨论】:

    标签: mysql django django-models enums


    【解决方案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
    

    【讨论】:

      【解决方案2】:
      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
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-07-14
        • 1970-01-01
        • 2020-10-07
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多