Oto urocza alternatywa, która nie używa case :
replace('$' + CONVERT(VARCHAR(255), CONVERT(MONEY, MYCOLUMN), 1), '$-', '-$')
Uwaga:Zawsze powinieneś podać długość podczas używania varchar w SQL Server. Domyślna długość zależy od kontekstu i może być niewystarczająca