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() নেই, তাই কাস্টম ফাংশন বানানো पड़ता है।