Você quer
ALTER TABLE ... ADD COLUMN
seguido por um UPDATE . Eu inicialmente disse
ALTER TABLE ... ADD COLUMN ... USING mas isso estava errado em dois aspectos. ADICIONAR COLUNA recebe um DEFAULT não USANDO - e você não pode fazer isso em uma passagem porque nem um DEFAULT expressão nem um USING expressão pode não se referir a outras colunas. Então você deve fazer:
ALTER TABLE tablename ADD COLUMN colname varchar;
UPDATE tablename SET colname = ( CASE WHEN othercol < 0 THEN 'Credit' ELSE 'Debit' END );
Pense cuidadosamente se zero deve ser 'Débito' ou 'Crédito' e ajuste o
CASE adequadamente. Para arredondamento, use
round(amount,2)
. Não há detalhes suficientes em sua pergunta para eu ter certeza de como; provavelmente por UPDATE ndo a tabela temporária com UPDATE thetable SET amount =round(amount,2) mas sem o contexto é difícil saber se está certo. Essa declaração joga informações fora de forma irreversível portanto, deve ser usado apenas em uma cópia dos dados.