我将尝试以一种尽可能简单的方式来解释这一点,以便于理解:
假设您有一个这样的表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 |
+--------------+-----------------+