ALTER Procedure dbo.UPdata @e_Nplan char(20), @e_Ncas char(20)AsUpdate Cis_OP_NO SET N_Cas100ks = @e_Nplan -- I don't see any point of passing a char(20) value from one var to another char(20) onewhere N_Kplan = CONVERT(float(2) , LTRIM(RTRIM(@Nplan))) -- extra spaces in char variables may cause conversion to fail GO