Merhaba,
Php & MySQL ikilisini kullanıyorsanız mysql veritabanınızdan tabloların satırlarını çekip genelde başlıklarda baş harflerini php‘nin ucfirst fonksiyonunu kullanılır, peki ya bu fonksiyonu kullanmadan direk baş harfler büyütülmüş haliyle çekmeyi düşündünüz mü ?
Lafı fazla uzatmadan fonksiyonu vereyim
DELIMITER $$
CREATE FUNCTION Ucfirst (INPUT VARCHAR(255))
RETURNS VARCHAR(255)
DETERMINISTIC
BEGIN
DECLARE len INT;
DECLARE i INT;
SET len = CHAR_LENGTH(INPUT);
SET INPUT = LOWER(INPUT);
SET i = 0;
WHILE (i < len) DO
IF (MID(INPUT,i,1) = ' ' OR i = 0) THEN
IF (i < len) THEN
SET INPUT = CONCAT(
LEFT(INPUT,i),
UPPER(MID(INPUT,i + 1,1)),
RIGHT(INPUT,len - i - 1)
);
END IF;
END IF;
SET i = i + 1;
END WHILE;
RETURN INPUT;
END$$
DELIMITER ;
yukarıda belirtiğim fonksiyon ile isteğinize ulaşabilirsiniz
Kullanımı
mysql-> select Ucfirst(makalebaslik) as yenibaslik from makaleler
mysql-> insert into makaleler (makalebaslik)values(Ucfirst('makala başlığı'));
şeklinde kullanabilirsiniz.