কম্পিউটার টিউটোরিয়াল

MySQL-এ INITCAP() এর বিপরীত ফাংশনালিটি ইমপ্লিমেন্ট করা

INITCAP() প্রতিটি শব্দের প্রথম অক্ষর বড় হাতের করে, বাকি ছোট হাতের। এর বিপরীত (প্রথম অক্ষর ছোট, বাকি বড়) করার জন্য কাস্টম ফাংশন তৈরি করতে হয়।

কাস্টম ফাংশন:

DELIMITER //
CREATE FUNCTION convertFirstLetterToLowerAndRemainingToCapital(value VARCHAR(250))
RETURNS VARCHAR(250)
DETERMINISTIC
BEGIN
    DECLARE valueLength INT;
    DECLARE l INT;
    SET valueLength = CHAR_LENGTH(value);
    SET value = UPPER(value);
    SET l = 0;
    WHILE (l < valueLength) DO
        IF (MID(value, l, 1) = ' ' OR l = 0) THEN
            IF (l < valueLength) THEN
                SET value = CONCAT(
                    LEFT(value, l),
                    LOWER(MID(value, l + 1, 1)),
                    RIGHT(value, valueLength - l - 1)
                );
            END IF;
        END IF;
        SET l = l + 1;
    END WHILE;
    RETURN value;
END //
DELIMITER ;

ফাংশন কল করা:

SELECT convertFirstLetterToLowerAndRemainingToCapital('Introduction To MySQL');

ফলাফল:

+-------------------------------------------------------------------------+
| convertFirstLetterToLowerAndRemainingToCapital('Introduction To MySQL') |
+-------------------------------------------------------------------------+
| iNTRODUCTION tO mYSQL                                                   |
+-------------------------------------------------------------------------+

ব্যাখ্যা: ফাংশনটি পুরো স্ট্রিংকে UPPER() করে, তারপর প্রতিটি শব্দের প্রথম অক্ষর (স্পেসের পর বা শুরুতে) LOWER() করে। MySQL-এ বিল্ট-ইন INITCAP() নেই, তাই কাস্টম ফাংশন বানানো पड़ता है।

  1. MySQL-এ সঠিক স্ট্রিং মান খুঁজে বের করা (COLLATE ব্যবহার)

  2. MySQL-এ EXTRACT() দিয়ে মাস অনুযায়ী মান যোগফল করা

  3. MySQL-এ DATE_ADD ব্যবহার করে টেবিলের তারিখ আপডেট করা (বছর যোগ/বিয়োগ)

  4. MySQL-এ ORDER BY ব্যবহার করে নির্দিষ্ট মানকে শেষে সর্ট করা