update aplicando case

tema enviado por pedro en SQL Server
tema iniciado el 21/11/2007

hola estoy diseñando un update para una tabla aplicando el case pero no corre me da error anoto el query y el error si alguien puede ayudarme :)

update tbl_account_temp
set acc_balance = (case
 when (acc_balance >0)
  then acc_balance = str((abs(acc_balance)+(0.005)),17,2)
 when (acc_balance<0)
  then acc_balance = str(((abs(acc_balance)+(0.005))*-1),17,2)
 else acc_balance
 end)

 

el error que arroja es el siguiente:

Server: Msg 170, Level 15, State 1, Line 4
Line 4: Incorrect syntax near '='.
Server: Msg 170, Level 15, State 1, Line 6
Line 6: Incorrect syntax near 'abs'.