вы можете сделать что-то вроде:
select replace(replace(values, '$', ''), ',', '') as number from table
where dbo.RegexMatch(values, ^\$?(\d+|(\d{1,3}(,\d{3})+))(\.\d+)?$')
настроить регулярное выражение для соответствия любым необходимым условиям ...