strip out non standard charicters from a defind string output in SQL : I am trying to strip out non standard charicters from a defind string output in SQL, there will be quite a few so i would like to use case rather than replace however i cant get it to work.  any sugestions? (first post sorry about the formatting :(


select distinct(	CASE (SORT_CODE 
				+ cast(replicate('0',8-len(ACCOUNT_NUMBER))
				+ ACCOUNT_NUMBER as char(8)) 
				+ '0' 
				+ '17' --to be replaced by a check for a specific type
				+ cast (replicate('0',11-len(replace(CURRENT_CHARGE_INCL,'.',''))) + replace(CURRENT_CHARGE_INCL,'.','') as char(11)) 
				+ cast(left(LAST_NAME, 10) + replicate(' ',18) as char(18)) + upper(cast(TRADING_NAME + replicate(' ',18) as char( 18))) )

				 WHEN '.' THEN ' '
				 WHEN '&' THEN ' '
				 WHEN ',' THEN ' '
				 else DD_line
				END)
				as DD_LINE