【问题标题】:Generated columns with condition/if else/case to populate the new column mysql使用条件/if else/case 生成列以填充新列 mysql
【发布时间】:2021-08-14 16:03:16
【问题描述】:

我有一个列-City,我想创建一个新列-Metro,我希望它检查 if city in('x','y','z') then Metro='Metro' else 'Non metro'

   ALTER TABLE sales ADD COLUMN Metro_city VARCHAR(45) GENERATED ALWAYS AS  (IF (CITY in('Mumbai ','Delhi' , 'Bangalore') then Metro_city='Metro') ('Non-Metro' end if)) STORED;

我还有另一组值要放在 case 中,但我猜如果我能做到这一点,那也会。我希望它存储到表中,而不是选择查询

【问题讨论】:

    标签: mysql sql if-statement conditional-statements generated-columns


    【解决方案1】:

    您需要修复case 表达式,基本上:

    ALTER TABLE sales ADD COLUMN Metro_city VARCHAR(45) GENERATED ALWAYS AS
          (case when CITY in ('Mumbai ', 'Delhi' , 'Bangalore')
                then 'Metro'
                else 'Non-Metro'
           end ) STORED;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-11-15
      • 2019-09-30
      • 1970-01-01
      • 2021-08-28
      • 1970-01-01
      • 2021-10-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多