使用 between 更新列
Updating a column using between
问题是更新 Class
列。下面的 table 是该结构的一小段。 Class
列当前为空,需要根据成员资格列中的值进行更新。例如,12 人的成员资格将是 class 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
然后运行不同的成员范围相同。
如果您使用的是 SQL 服务器(或其他几个数据库之一),则不必为 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);
该值是在您引用该列时计算的,因此它始终是最新的。
问题是更新 Class
列。下面的 table 是该结构的一小段。 Class
列当前为空,需要根据成员资格列中的值进行更新。例如,12 人的成员资格将是 class 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
然后运行不同的成员范围相同。
如果您使用的是 SQL 服务器(或其他几个数据库之一),则不必为 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);
该值是在您引用该列时计算的,因此它始终是最新的。