create function ganesha(@id int) returns int as begin declare @work int select @work=avg(salary) from emp_info where id=@id; return @work; end; declare @my int select dbo.ganesha(1) b) alter function myfun(@date datetime) returns varchar(50) as begin declare @myoutput varchar(10) set @myoutput=convert(varchar(10),@date,101) return @myoutput end; select dbo.myfun(getdate()) <strong>Inline Table</strong><strong> User Defined</strong><strong> Function</strong> <strong> </strong> create function getname(@firstletter char(1)) returns table as return select *from emp_info where left(emp_name,1)=@firstletter; select *from dbo.getname('W') <strong>Multi Statement</strong><strong> User defined</strong><strong> function</strong> CREATE FUNCTION dbo.multi_test(@FirstLetter char1)) RETURNS @Result TABLE ( fname varchar(20), worka datetime, workcomp varchar(16) ) AS BEGIN INSERT INTO @Result (fname,worka) SELECT emp_name, worka FROM emp_info WHERE LEFT(emp_name, 1) = @FirstLetter UPDATE @Result SET workcomp = 'N' UPDATE @Result SET workcomp= 'Y' WHERE worka < '01/01/1991' RETURN END select *from dbo.multi_test('W')