代码之家  ›  专栏  ›  技术社区  ›  Tim Wilcox

使用between更新列

  •  0
  • Tim Wilcox  · 技术社区  · 7 年前

    Class 柱下表是该结构的一小段。这个

    Membership    Class
      0 to 4        1
      5 to 9        2
     10 to 19       3
    

    以下代码是否足够:

    Update dbo.tablename 
    set class = 1 
    where 'membership' between 0 and 4
    
    2 回复  |  直到 7 年前
        1
  •  2
  •   Jon Ekiz    7 年前

    您需要在列名周围加引号:

    Update dbo.tablename set class=1 where membership between 0 and 4
    

        2
  •  1
  •   Gordon Linoff    7 年前

    如果您使用的是SQL Server(或其他几个数据库之一),则不应该为 class 柱相反,请使用计算列:

    alter dbo.tablename add class as
        (case when membership between 0 and 4 then 1
              when membership between 5 and 9 then 2
              when membership between 10 and 19 then 3
         end);