Seems to work just fine. Did you test the function at all? CREATE TABLE Contact (contact_id INT, clarify_objid INT)INSERT Contact (contact_id, clarify_objid)VALUES (1, 999)CREATE function [dbo].[fnGetMRMObj_ID](@Con_ObjID int)RETURNS INT AS BEGIN return (ISNULL((select min(contact_id)from Contact where clarify_objid = @Con_ObjID),0))ENDSELECT [dbo].[fnGetMRMObj_ID](999)DROP FUNCTION [dbo].[fnGetMRMObj_ID]DROP TABLE Contact