This is my slightly grotty code that works.
update P_INVENTORY_MOVEMENTS set qty = REPLACE(qty,' ','')
update P_INVENTORY_MOVEMENTS set qty = REPLACE(qty,'^','')
UPDATE P_INVENTORY_MOVEMENTS SET qty = replace(replace(qty,CHAR(13),''),CHAR(10),'')
UPDATE P_Inventory_movements SET QTY = '0.00' where isnumeric (qty)<>1
It removes whitespace, then hats, then newlines and carriage returns, and then finally for any values left, sets it to 0.00
I think this may be quite poorly written, and I wondered if anyone can see a better way of doing it. Would the best way be to use a larger nested replace or am I approaching this wrong?