Sql server 使用between更新列

Sql server 使用between更新列,sql-server,ssms,between,Sql Server,Ssms,Between,问题是更新类列。下表是该结构的一个简短片段。Class列当前为空,需要根据成员资格列中的值进行更新。例如,12名成员将是3级 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 您需要在列名周围加引号: Update dbo.table

问题是更新
列。下表是该结构的一个简短片段。
Class
列当前为空,需要根据成员资格列中的值进行更新。例如,12名成员将是3级

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

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

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

然后对不同的成员范围运行相同的操作。

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

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

然后对不同的成员范围运行相同的操作。

如果您使用的是SQL Server(或其他多个数据库之一),则不必为
列操心。而是使用计算列:

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);

该值是在引用列时计算出来的,因此它始终是最新的。

如果您使用的是SQL Server(或其他几个数据库之一),您不应该为
列而烦恼。而是使用计算列:

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);

该值是在引用列时计算的,因此它始终是最新的。

Yeap应该这样做!仅供参考,对于SQL是唯一涉及的编程语言的数据库问题,请参阅姐妹网站:。是的,应该这样做!仅供参考,对于SQL是唯一涉及的编程语言的数据库问题,请参阅姐妹站点:。