Tôi sẽ cố gắng giải thích điều này theo cách càng đơn giản càng tốt để dễ hiểu:
Giả sử, bạn có một bảng Vendor
thiết lập một cái gì đó như thế này:
create table Vendor (AccountTerms int, ulARAgeing varchar(50));
Và, sau đó chúng tôi sẽ chèn một số giá trị mẫu cho cả hai cột trong Vendor
bảng:
insert into Vendor values
(0,'Test'),
(1,'Test1'),
(2,'Test2');
Tiếp theo, chúng tôi sẽ viết một tuyên bố cập nhật để cập nhật ulARAgeing
của bạn dựa trên các giá trị trong AccountTerms
cột trong cùng một bảng:
update vendor
set ulARAgeing = (CASE
WHEN AccountTerms = 0
THEN 'Current'
WHEN AccountTerms = 1
THEN '30 Days'
WHEN AccountTerms = 2
THEN '60 Days'
END);
CASE WHEN
tương tự như sử dụng IF..ELSE
trong hầu hết các ngôn ngữ lập trình khác. Vì vậy, ở đây chúng tôi sẽ cập nhật ulARAgeing
hiện có giá trị thành giá trị chuỗi khác nhau dựa trên điều kiện trong trường hợp câu lệnh when. Vì vậy, ví dụ nếu AccountTerms = 0
thì chúng tôi sẽ cập nhật giá trị cho ulARAgeing
thành `` Hiện tại '', v.v.
Để kiểm tra xem câu lệnh trên có hoạt động chính xác hay không, bạn chỉ cần chạy câu lệnh cập nhật ở trên và sau đó chọn lại từ bảng:
select * from Vendor;
Kết quả:
+--------------+-----------------+
| AccountTerms | ulARAgeing |
+--------------+-----------------+
| 0 | Current |
| 1 | 30 Days |
| 2 | 60 Days |
+--------------+-----------------+