Built-in Functions এবং User-Defined Functions (UDF) গাইড ও নোট

Database Tutorials - টি-এসকিউএল (T-SQL) - Functions তৈরি এবং ব্যবহার
281

T-SQL (Transact-SQL) তে দুটি ধরণের ফাংশন রয়েছে: Built-in Functions এবং User-Defined Functions (UDF)। এই ফাংশনগুলো ডেটাবেসে ডেটা ম্যানিপুলেশন ও বিশ্লেষণের জন্য ব্যবহৃত হয়।


1. Built-in Functions

Built-in Functions হল সেই ফাংশনগুলো যা SQL Server নিজেই সরবরাহ করে এবং ডেটাবেস অপারেশনকে আরও সহজ এবং কার্যকরী করতে সাহায্য করে। এগুলি ডেটা ম্যানিপুলেশন, গণনা, স্ট্রিং প্রসেসিং, তারিখ এবং সময় সম্পর্কিত কাজ ইত্যাদি করার জন্য ব্যবহার করা হয়।

Built-in Functions এর ধরন:

  1. এ্যাগ্রিগেট ফাংশন (Aggregate Functions): এগুলি গ্রুপ করা ডেটার ওপর কাজ করে এবং একটি একক ফলাফল প্রদান করে।

    • COUNT(): রেকর্ডের সংখ্যা গণনা করা।
    • SUM(): মানের যোগফল গণনা করা।
    • AVG(): গড় মান বের করা।
    • MIN() এবং MAX(): সর্বনিম্ন এবং সর্বোচ্চ মান বের করা।

    উদাহরণ:

    SELECT COUNT(*) FROM Employees;  -- সমস্ত রেকর্ড গুনতে
    SELECT AVG(Salary) FROM Employees;  -- গড় বেতন বের করা
    
  2. স্ট্রিং ফাংশন (String Functions): এগুলি স্ট্রিং ডেটার সাথে কাজ করে।

    • LEN(): স্ট্রিং এর দৈর্ঘ্য বের করা।
    • UPPER() এবং LOWER(): স্ট্রিংকে বড়/ছোট অক্ষরে রূপান্তর করা।
    • CONCAT(): দুটি বা তার বেশি স্ট্রিংকে একত্রিত করা।

    উদাহরণ:

    SELECT LEN('Hello') AS StringLength;  -- 5
    SELECT UPPER('hello') AS UpperString;  -- 'HELLO'
    
  3. তারিখ এবং সময় ফাংশন (Date and Time Functions):

    • GETDATE(): বর্তমান তারিখ এবং সময় ফিরিয়ে দেয়।
    • DATEADD(): নির্দিষ্ট তারিখে সময় যোগ করা।
    • DATEDIFF(): দুটি তারিখের মধ্যে পার্থক্য বের করা।

    উদাহরণ:

    SELECT GETDATE();  -- বর্তমান তারিখ এবং সময়
    SELECT DATEADD(DAY, 5, GETDATE());  -- 5 দিন যোগ করা
    
  4. নিউমেরিক ফাংশন (Numeric Functions):

    • ROUND(): একটি সংখ্যা রাউন্ড করা।
    • ABS(): একটি সংখ্যার অভ্যন্তরীণ মান বের করা (নেগেটিভ মানের জন্য পজিটিভ মান)

    উদাহরণ:

    SELECT ROUND(123.456, 2);  -- 123.46
    SELECT ABS(-100);  -- 100
    

2. User-Defined Functions (UDF)

User-Defined Functions (UDF) হল ফাংশনগুলি যা ব্যবহারকারী নিজে তৈরি করে। এগুলি বিশেষভাবে তৈরি করা হয় যখন Built-in Functions এর মাধ্যমে নির্দিষ্ট কাজ করা সম্ভব না হয়। UDF ব্যবহার করে আপনি কাস্টম লজিক বা হিসাব তৈরি করতে পারেন এবং তা বারবার ব্যবহার করতে পারেন।

UDF এর ধরন:

  1. Scalar Functions:

    • একটি স্কেলার ফাংশন একক মান রিটার্ন করে।
    • এই ধরনের ফাংশন সাধারণত একক ইনপুট গ্রহণ করে এবং একটি একক আউটপুট প্রদান করে।

    উদাহরণ:

    CREATE FUNCTION dbo.GetFullName (@FirstName VARCHAR(50), @LastName VARCHAR(50))
    RETURNS VARCHAR(100)
    AS
    BEGIN
        RETURN @FirstName + ' ' + @LastName;
    END;
    

    এটি GetFullName নামে একটি ফাংশন তৈরি করে যা দুটি ইনপুট নেয় এবং সেগুলির মধ্যে স্পেস দিয়ে যুক্ত করে একটি পূর্ণ নাম প্রদান করে।

    ব্যবহার:

    SELECT dbo.GetFullName('John', 'Doe');
    
  2. Table-Valued Functions (TVF):

    • এটি একটি ফাংশন যা টেবিলের মতো ডেটা রিটার্ন করে। একটি Table-Valued Function এর রিটার্ন টেবিলের মতো হয় এবং এটিকে সাধারণ টেবিলের মতো ব্যবহার করা যায়।

    উদাহরণ:

    CREATE FUNCTION dbo.GetEmployeesByDepartment (@DepartmentName VARCHAR(50))
    RETURNS TABLE
    AS
    RETURN (
        SELECT EmployeeID, FirstName, LastName
        FROM Employees
        WHERE Department = @DepartmentName
    );
    

    এখানে একটি Table-Valued Function তৈরি করা হয়েছে যা একটি নির্দিষ্ট ডিপার্টমেন্টের সকল কর্মচারীর তথ্য রিটার্ন করবে।

    ব্যবহার:

    SELECT * FROM dbo.GetEmployeesByDepartment('IT');
    
  3. Inline Table-Valued Functions:

    • Inline TVF গুলি সাধারণত SELECT স্টেটমেন্ট দ্বারা রিটার্ন করা হয়। এগুলি সাধারণত ছোট ফাংশন হয় এবং SQL Server-এর জন্য পারফরম্যান্স অপ্টিমাইজড হয়।

    উদাহরণ:

    CREATE FUNCTION dbo.GetEmployeeInfo (@EmployeeID INT)
    RETURNS TABLE
    AS
    RETURN (SELECT FirstName, LastName, Department FROM Employees WHERE EmployeeID = @EmployeeID);
    

    ব্যবহার:

    SELECT * FROM dbo.GetEmployeeInfo(1);
    

Built-in Functions এবং UDF এর মধ্যে পার্থক্য

বৈশিষ্ট্যBuilt-in FunctionsUser-Defined Functions (UDF)
সংজ্ঞাSQL Server দ্বারা প্রাক-নির্ধারিত ফাংশনব্যবহারকারীর তৈরি কাস্টম ফাংশন
ফাংশনের ধরনস্ট্রিং, তারিখ, সংখ্যার জন্য বিভিন্ন ফাংশনস্কেলার ফাংশন বা টেবিল-ভ্যালু ফাংশন (TVF)
প্রত্যাবর্তন মানএকক মান, তালিকা বা একাধিক মানএকক মান (scalar) বা টেবিল (table)
পারফরম্যান্সসাধারণত অপ্টিমাইজড এবং দ্রুতপারফরম্যান্সের জন্য ব্যবহারকারীর উপর নির্ভর করে
ব্যবহারসাধারণত ডেটাবেস অপারেশন, গণনা বা স্ট্রিং ম্যানিপুলেশনের জন্যজটিল কাস্টম লজিক বা ডেটাবেস অপারেশন করার জন্য

সারাংশ

  • Built-in Functions SQL Server দ্বারা প্রাক-নির্ধারিত ফাংশন যা সাধারণ কাজের জন্য ব্যবহৃত হয় যেমন গাণিতিক অপারেশন, তারিখ এবং সময় ব্যবস্থাপনা, স্ট্রিং প্রসেসিং ইত্যাদি।
  • User-Defined Functions (UDF) ব্যবহারকারীর তৈরি কাস্টম ফাংশন যা বিশেষ কাজের জন্য তৈরি হয় এবং এগুলিকে একাধিকবার ব্যবহার করা যায়, স্কেলার বা টেবিল-ভ্যালু ফাংশন হিসেবে রিটার্ন করতে পারে।

UDF ব্যবহার করে আপনি SQL Server-এ কাস্টম লজিক তৈরি করতে পারেন, যখন Built-in Functions সাধারণত প্রতিদিনের ডেটাবেস অপারেশন এবং ডেটা প্রসেসিংয়ের জন্য উপযুক্ত।

Content added By
Promotion
NEW SATT AI এখন আপনাকে সাহায্য করতে পারে।

Are you sure to start over?

Loading...