What is a Function
A Function is a reusable database object that accepts input, performs a specific task, and returns a single value.
Unlike a Stored Procedure, a Function must return a value and can be used directly inside SQL statements such as SELECT, WHERE, and ORDER BY.
आसान भाषा में (Hindi)
Function Database के अंदर बनाया गया एक Reusable Program होता है।
यह:
- Input लेता है।
- कोई Calculation या Processing करता है।
- अंत में एक Value Return करता है।
Simple Definition:
Function = Input + Processing + One Output
Why Do We Need Functions?
मान लीजिए किसी Company में हर Employee का Annual Salary निकालना है।
हर बार Query लिखनी पड़ेगी:
SELECT EmployeeName,
Salary*12 AS AnnualSalary
FROM Employee;
अगर यही Calculation हर Report में चाहिए, तो बार-बार वही Formula लिखना पड़ेगा।
इसकी जगह एक Function बना सकते हैं।
Real-Life Example
मान लीजिए Monthly Salary = ₹50,000
Function
CalculateAnnualSalary(50000)
↓
50000 × 12
↓
600000
अब जहाँ भी Annual Salary चाहिए, केवल Function Call करेंगे।
How Function Works
Application/User
│
▼
Call Function
│
▼
Input Parameter
│
▼
Processing
│
▼
Return One Value
Types of SQL Functions
SQL Functions दो प्रकार की होती हैं।
1. Built-in Functions
Database पहले से ही कई Functions देता है।
Examples:
- COUNT()
- SUM()
- AVG()
- MAX()
- MIN()
- UPPER()
- LOWER()
- LENGTH()
- NOW()
Example
SELECT UPPER('rahul');
Output
RAHUL
2. User Defined Function (UDF)
जो Function User स्वयं बनाता है।
Example
CalculateBonus()
Syntax (MySQL)
DELIMITER $$
CREATE FUNCTION FunctionName(Parameter datatype)
RETURNS datatype
BEGIN
SQL Statements
RETURN value;
END $$
DELIMITER ;
Example 1: Simple Function
Employee Table
| EmployeeName | Salary |
|---|---|
| Rahul | 50000 |
Create Function
DELIMITER $$
CREATE FUNCTION AnnualSalary
(
MonthlySalary INT
)
RETURNS INT
BEGIN
RETURN MonthlySalary * 12;
END $$
DELIMITER ;
Execute Function
SELECT AnnualSalary(50000);
Output
| AnnualSalary |
|---|
| 600000 |
Explanation
Input
50000
Processing
50000 × 12
Output
600000
Example 2: Function with Employee Table
Employee Table
| Name | Salary |
|---|---|
| Rahul | 50000 |
| Aman | 45000 |
Query
SELECT
EmployeeName,
AnnualSalary(Salary)
FROM Employee;
Output
| EmployeeName | AnnualSalary |
|---|---|
| Rahul | 600000 |
| Aman | 540000 |
RETURN Statement
हर Function में RETURN अनिवार्य होता है।
Example
RETURN MonthlySalary*12;
अगर RETURN नहीं होगा, Function सही तरीके से काम नहीं करेगा।
Function Parameters
Example
AnnualSalary(50000)
यहाँ
50000
Parameter है।
Function vs Stored Procedure
| Function | Stored Procedure |
|---|---|
| हमेशा Value Return करती है | Value Return करना आवश्यक नहीं |
| SQL Query के अंदर उपयोग होती है | CALL से Execute होती है |
| SELECT में उपयोग हो सकती है | SELECT में सीधे उपयोग नहीं होती |
| Calculation के लिए बेहतर | Business Logic के लिए बेहतर |
Built-in Function Categories
Aggregate Functions
- COUNT()
- SUM()
- AVG()
- MAX()
- MIN()
String Functions
- UPPER()
- LOWER()
- CONCAT()
- LENGTH()
- SUBSTRING()
Date Functions
- NOW()
- CURDATE()
- YEAR()
- MONTH()
- DAY()
Numeric Functions
- ROUND()
- CEIL()
- FLOOR()
- ABS()
- MOD()
💬 Leave a Comment & Rating