Function in SQL Server with Examples | YourSite

Function in SQL Server with Examples

SQL SERVER 891 views

Code: Use this below code to select a specific database


USE TestDatabase

Code: Create this below table to understand function


CREATE TABLE [dbo].[Emp_Master](
	[Emp_ID] [nchar](10) NULL,
	[Emp_Name] [nchar](10) NULL,
	[Emp_DOB] [date] NULL
) ON [PRIMARY]
 
 

Code: Create this below table


CREATE TABLE [dbo].[EmpSalary](
	[ID] [nchar](10) NULL,
	[Name] [nchar](10) NULL,
	[Salary] [numeric](10, 2) NULL,
	[Dept] [nchar](10) NULL
) ON [PRIMARY]


Insert some records inside above two table.

Code: use this code to see two table



Select * from EmpSalary
Select * from Emp_Master

ALTER TABLE Emp_Master
ADD Emp_DOB  DATE;

UPDATE Emp_Master SET Emp_DOB = '12-02-1996' WHERE Emp_ID = 1
UPDATE Emp_Master SET Emp_DOB = '11-02-1996' WHERE Emp_ID = 2
UPDATE Emp_Master SET Emp_DOB = '10-02-1996' WHERE Emp_ID = 3
UPDATE Emp_Master SET Emp_DOB = '09-02-1996' WHERE Emp_ID = 4
UPDATE Emp_Master SET Emp_DOB = '08-02-1996' WHERE Emp_ID = 5


Code: Create a simple function using this below code


/* User Defined Function */ 
-- Tabled Valued Function
CREATE FUNCTION SelectDataEmpSalary (
    @ID INT
)
RETURNS TABLE
AS
RETURN
    SELECT 
        Name,
        Salary,
        Dept
    FROM
        EmpSalary
    WHERE
        ID = @ID; 

-- Execute Function
SELECT * FROM SelectDataEmpSalary(1)


Code: Use this below code to create a function


/* Scalar Valued Function 1 */
CREATE FUNCTION CubeFunction(@X INT)
RETURNS INT
AS
BEGIN
  RETURN @X * @X *@X
END
-- Execute
SELECT dbo.CubeFunction(5) AS Cube

Code: Example of Scalar Valued function


/* Scalar Valued Function 2 */

 CREATE FUNCTION Addition(@Num1 Decimal(7,2),  
                         @Num2 Decimal(7,2))  
RETURNS Decimal(7,2)  
Begin  
    DECLARE @Result Decimal(7,2)  
    SET @Result = @Num1 + @Num2  
    RETURN @Result  
end  

-- Execute 
print dbo.Addition(12,13) 

Code: Example of Scalar Valued function



/* Scalar Valued Function 3 */
CREATE FUNCTION CalculateAge
(
  @DOB DATE
)
RETURNS INT
AS
BEGIN
  DECLARE @AGE INT
  SET @AGE = DATEDIFF(YEAR, @DOB, GETDATE())-
  CASE
    WHEN (MONTH(@DOB) > MONTH(GETDATE())) OR
       (MONTH(@DOB) = MONTH(GETDATE()) AND
        DAY(@DOB) > DAY(GETDATE()))
    THEN 1
    ELSE 0
  END
  RETURN @AGE
END

-- Execute
SELECT dbo.CalculateAge('12-02-1996') as age


-- Use the above function in a Query
SELECT Emp_ID, Emp_Name, Emp_DOB, dbo.CalculateAge(Emp_DOB) AS Age 
FROM Emp_Master


Code: Example of Scalar Valued function



 /* Drop Function */
 DROP FUNCTION FuncationName

 

Code: Example of Scalar Valued function



/* Advanced Functions */
SELECT USER_NAME();
SELECT SYSTEM_USER;
SELECT SESSION_USER;
SELECT SESSIONPROPERTY('ANSI_NULLS');
SELECT ISNUMERIC(4567);
SELECT NULLIF(25, 25);
SELECT NULLIF('Hello', 'Hello');
SELECT NULLIF('Hello', 'world');
SELECT NULLIF('2017-08-25', '2017-08-25');
SELECT ISNULL(NULL, 'RummanAnsai');
SELECT IIF(500<1000, 'YES', 'NO');
SELECT CONVERT(int, 25.65);
SELECT COALESCE(NULL, NULL, NULL, 'Rumman', NULL, 'Ansari');
SELECT COALESCE(NULL, 1, 2, 'Rumman');
SELECT CAST(25.65 AS int);

/* Date Functions */
SELECT CURRENT_TIMESTAMP;
SELECT DATEADD(year, 1, '2017/08/25') AS DateAdd; /* Add one year to a date, then return the date:*/
SELECT DATEDIFF(year, '2017/08/25', '2011/08/25') AS DateDiff; /*Return the difference between two date values, in years:*/
SELECT DATEFROMPARTS(2018, 10, 31) AS DateFromParts; /*Return a date from it's parts:*/ 
SELECT DATENAME(year, '2017/08/25') AS DatePartString; /* Return a specified part of a date: */ 
SELECT DATEPART(year, '2017/08/25') AS DatePartInt; /*Return a specified part of a date:*/ 
SELECT DAY('2017/08/25') AS DayOfMonth; /* Return the day of the month for a date: */
SELECT GETDATE();  /* Return the current database system date and time: */
SELECT GETUTCDATE(); /* Return the current UTC date and time: */ 
SELECT ISDATE('2017-08-25'); /* Check if the expression is a valid date: */
SELECT MONTH('2017/08/25') AS Month; /* Return the month part of a date: */ 
SELECT SYSDATETIME() AS SysDateTime; /* Return the date and time of the SQL Server: */ 
SELECT YEAR('2017/08/25') AS Year; /* Return the year part of a date: */


🚀 More Blogs You Might Like

Explore more articles and keep learning

What is Bounce Rate in SEO? Complete Guide for Beginners
search-engine-optimization
What is Bounce Rate in SEO? Complete Guide for Beginners

Learn what bounce rate is in SEO, how it is calculated, why it matters, common causes of high bounce rates, an...

👁 28 2026-05-24
Read More →
Comprehensive Interviewer Guide - Detailed Article
skill
Comprehensive Interviewer Guide - Detailed Article

Learn how to conduct effective interviews with this comprehensive interviewer guide. Explore hiring strategies...

👁 43 2026-05-22
Read More →
Five Industry Shifts Reshaping the AI Ecosystem (2026 Trends)
skill
Five Industry Shifts Reshaping the AI Ecosystem (2026 Trends)

Five Industry Shifts Reshaping the AI Ecosystem (2026 Trends)...

👁 38 2026-05-19
Read More →
How to Grow Your Business Mindset Step by Step
skill
How to Grow Your Business Mindset Step by Step

Learn how to develop and grow a successful business mindset step by step. Discover entrepreneurial thinking, p...

👁 56 2026-05-09
Read More →