No recuerdo exactamente, pero algunas veces los return son un poco quisquillosos y hay que usar una variable temporal, algo como:
Código:
CREATE FUNCTION dbo.encontrar_valv (@ic int)
RETURNS int AS
BEGIN
DECLARE @valv INT
SELECT @valv=COUNT(IdNodo) FROM Nodos WHERE IdEC= @ic
RETURN @valv
END
GO
SELECT dbo.encontrar_valv(1)
GO