Scalar Function in SQL Server
Last Updated :
24 Feb, 2023
Pre-requisites: Categories of SQL Functions
In SQL Server, a scalar function is a type of user-defined function that returns a single scalar value based on the input parameters passed to it. The scalar function is used to perform some calculations or operations on the input parameters and return a single result.
Scalar functions are commonly used in SQL Server to simplify complex queries and to encapsulate business logic. They can be used in queries just like any other SQL function, and their return value can be used as a column value, a part of a where clause, or in any other expression.
Scalar functions can be created in SQL Server using the CREATE FUNCTION statement. They can be either deterministic or non-deterministic.
Deterministic functions always return the same result for a given set of input parameters, while non-deterministic functions may return different results for the same input parameters.
Syntax :
For Creating Function:
CREATE FUNCTION FUNCTION_NAME
(@Parameter1 DATATYPE,@Parameter2
DATATYPE,@Parameter3 DATATYPE,....,
@ParameterN DATATYPE)
RETURNS Return_Datatype
AS
BEGIN
--Function Body
RETURN Return_Datatype
END
For Updating the function :
ALTER FUNCTION FUNCTION_NAME(@Parameter1
DATATYPE,@Parameter2 DATATYPE,
@Parameter3 DATATYPE,....,
@ParameterN DATATYPE)
RETURNS Return_Datatype
AS
BEGIN
--Function Body
RETURN Return_Datatype
END
For Deleting the Function:
DELETE FUNCTION Function_Name()
Here's an example of a simple scalar function in SQL Server:
Step 1: First create the table 'Products':
create table Products
(productID int primary key,
ProductName varchar(50),
price decimal ,
Quantity int)
insert into Products(productID,
ProductName,price,Quantity)
Values(1,'Chai',40,20),
(2,'Biscut',5.50,200),
(3,'Rust',10,150),
(4,'sugar',24.50,20),
(5,'Coffee',78.20,10)
select * from Products
Output:
OutputStep 2: Create Function
--Create function
CREATE FUNCTION CalculateTotal
(@Price decimal(10,2),@Quantity int)
RETURNS decimal(10,2)
AS
BEGIN
RETURN @Price * @Quantity
END
Output:
The CalculateTotal function is a simple scalar function that takes two input parameters, @Price and @Quantity, and returns their product as a single scalar value
Step 3: Call the Function using dbo.CalculateTotal( ):
SELECT ProductName,Quantity,price,
dbo.CalculateTotal(Price, Quantity)
AS Total
FROM Products
Output:
In this example, The CalculateTotal function is used to calculate the total price of each product in the Products table, and the result is displayed in a column named Total.
Hence the scalar function is useful for returning the single scalar value and also functions can be used with select and where clauses also, which makes functions more effective and useful.
Similar Reads
SQL Interview Questions Are you preparing for a SQL interview? SQL is a standard database language used for accessing and manipulating data in databases. It stands for Structured Query Language and was developed by IBM in the 1970's, SQL allows us to create, read, update, and delete data with simple yet effective commands.
15+ min read
SQL Tutorial Structured Query Language (SQL) is the standard language used to interact with relational databases. Whether you want to create, delete, update or read data, SQL provides the structure and commands to perform these operations. SQL is widely supported across various database systems like MySQL, Oracl
8 min read
SQL Commands | DDL, DQL, DML, DCL and TCL Commands SQL commands are crucial for managing databases effectively. These commands are divided into categories such as Data Definition Language (DDL), Data Manipulation Language (DML), Data Control Language (DCL), Data Query Language (DQL), and Transaction Control Language (TCL). In this article, we will e
7 min read
SQL Joins (Inner, Left, Right and Full Join) SQL joins are fundamental tools for combining data from multiple tables in relational databases. Joins allow efficient data retrieval, which is essential for generating meaningful observations and solving complex business queries. Understanding SQL join types, such as INNER JOIN, LEFT JOIN, RIGHT JO
5 min read
SQL Query Interview Questions SQL or Structured Query Language, is the standard language for managing and manipulating relational databases such as MySQL, Oracle, and PostgreSQL. It serves as a powerful tool for efficiently handling data whether retrieving specific data points, performing complex analysis, or modifying database
15+ min read
CTE in SQL In SQL, a Common Table Expression (CTE) is an essential tool for simplifying complex queries and making them more readable. By defining temporary result sets that can be referenced multiple times, a CTE in SQL allows developers to break down complicated logic into manageable parts. CTEs help with hi
6 min read
Window Functions in SQL SQL window functions are essential for advanced data analysis and database management. It is a type of function that allows us to perform calculations across a specific set of rows related to the current row. These calculations happen within a defined window of data and they are particularly useful
6 min read
SQL | WITH Clause SQL queries can sometimes be complex, especially when you need to deal with multiple nested subqueries, aggregations, and joins. This is where the SQL WITH clause also known as Common Table Expressions (CTEs) comes in to make life easier. The WITH Clause is a powerful tool that simplifies complex SQ
6 min read
SQL Exercises : SQL Practice with Solution for Beginners and Experienced SQL (Structured Query Language) is a powerful and flexible tool for managing and manipulating relational databases. Regardless of our experience level, practising SQL exercises is essential for improving our skills. Regular practice not only enhances our understanding of SQL concepts but also builds
15+ min read
SQL Cheat Sheet ( Basic to Advanced) Creating and managing databases in SQL involves various commands and concepts that handle the structuring, querying, and manipulation of data. In this guide, we will see a comprehensive cheat sheet for essential SQL operations, offering a practical reference for tasks ranging from database creation
15 min read