Saltar al contenido

¿Cómo puedo lograr la funcionalidad de initcap en MySQL?

Este artículo fue analizado por nuestros expertos para asegurar la veracidad de esta crónica.

Solución:

Hace algún tiempo estaba buscando una función initcap/ucfirst incorporada en MySQL, pero desafortunadamente no pude encontrar tal string funciones, así que decidí escribir las mías… gracias al miembro de la comunidad de MySQL que corrigió el error en mi función y lo publicó de nuevo.

DELIMITER $$

DROP FUNCTION IF EXISTS `test`.`initcap`$$

CREATE FUNCTION `initcap`(x char(30)) RETURNS char(30) CHARSET utf8
BEGIN
SET @str='';
SET @l_str='';
WHILE x REGEXP ' ' DO
SELECT SUBSTRING_INDEX(x, ' ', 1) INTO @l_str;
SELECT SUBSTRING(x, LOCATE(' ', x)+1) INTO x;
SELECT CONCAT(@str, ' ', CONCAT(UPPER(SUBSTRING(@l_str,1,1)),LOWER(SUBSTRING(@l_str,2)))) INTO @str;
END WHILE;
RETURN LTRIM(CONCAT(@str, ' ', CONCAT(UPPER(SUBSTRING(x,1,1)),LOWER(SUBSTRING(x,2)))));
END$$

DELIMITER ;


Usage: 

select initcap('This is test string');

Aquí tienes las comentarios y puntuaciones

Si te ha resultado de provecho este post, sería de mucha ayuda si lo compartes con otros seniors de esta manera nos ayudas a difundir nuestra información.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *