Hola brother...y has probado usando la funcion convert(datatype,variable)..
algo asi:
declare @cod varchar(50)
delclare @num numeric(7,2)
set @cod='15.35'
set @num=convert(numeric(7,2),@cod)
con eso convierte la variable @cod a numeric con decimales solo para asignarlo a @num pero sigue siendo varchar(), y ya puedes sumarla y comparar con un float o double..
Espero te sirva de ayuda...