Bạn muốn ALTER TABLE ... THÊM CỘT
theo sau là UPDATE
.
Lúc đầu, tôi nói ALTER TABLE ... ADD COLUMN ... USING
nhưng điều đó đã sai ở hai số. THÊM CỘT
lấy DEFAULT
không phải SỬ DỤNG
- và Bạn không thể làm điều đó trong một lần vì không phải DEFAULT
biểu thức cũng không phải là SỬ DỤNG
biểu thức có thể không tham chiếu đến các cột khác.
Vì vậy, bạn phải làm:
ALTER TABLE tablename ADD COLUMN colname varchar;
UPDATE tablename SET colname = ( CASE WHEN othercol < 0 THEN 'Credit' ELSE 'Debit' END );
Hãy suy nghĩ cẩn thận về việc số 0 nên là "Ghi nợ" hay "Tín dụng" và điều chỉnh CASE
theo đó.
Để làm tròn, hãy sử dụng vòng (số tiền, 2)
. Không có đủ chi tiết trong câu hỏi của bạn để tôi chắc chắn về cách thức; có lẽ bởi UPDATE
nhập bảng tạm thời với CẬP NHẬT bảng SET số tiền =vòng (số tiền, 2)
nhưng nếu không có bối cảnh thì thật khó để biết liệu điều đó có đúng hay không. Tuyên bố đó ném thông tin đi không thể đảo ngược vì vậy nó chỉ nên được sử dụng trên một bản sao dữ liệu.