我将尝试以一种尽可能简单的方式来解释这一点,以便于理解:
假设您有一个这样的表
Vendor设置:
create table Vendor (AccountTerms int, ulARAgeing varchar(50));
然后,我们将为表中的两列插入一些样本值
Vendor:
insert into Vendor values(0,'Test'),(1,'Test1'),(2,'Test2');
接下来,我们将编写一条update语句,以
ulARAgeing根据
AccountTerms同一表中列中的值更新您的列:
update vendor set ulARAgeing = (CASE WHEN AccountTerms = 0 THEN 'Current'WHEN AccountTerms = 1 THEN '30 Days'WHEN AccountTerms = 2 THEN '60 Days' END);
CASEWHEN与
IF..ELSE大多数其他编程语言中的using语句相似。因此,这里我们将
ulARAgeing根据when语句的情况将现有值更新为不同的字符串值。因此,例如对于if,
AccountTerms= 0我们将其值更新为
ulARAgeing“ Current”,依此类推。
要检查上面的语句是否正常工作,您只需要运行上面的update语句,然后再次从表中选择:
select * from Vendor;
结果:
+--------------+-----------------+| AccountTerms | ulARAgeing |+--------------+-----------------+| 0 | Current || 1 | 30 Days || 2 | 60 Days |+--------------+-----------------+
**SQL Fiddle Demo**



