ucwords for MySQL by Elden

E-mail Imprimir PDF
Usar puntuación: / 2
MaloBueno 

Esta función para mysql tiene el mismo funcionamiento que ucwords de php, o al menos eso pretende xD, espero les sea útil.

DELIMITER ||
DROP FUNCTION IF EXISTS ucwords||
CREATE FUNCTION ucwords(s VARCHAR(255)) RETURNS VARCHAR(255) BEGIN
 DECLARE cont INT UNSIGNED DEFAULT 0;
 DECLARE flag TINYINT UNSIGNED DEFAULT 1;
 DECLARE cadena VARCHAR(255) DEFAULT '';
 
 WHILE(cont <= LENGTH(s)) DO
 IF(SUBSTRING(s,cont,1) = ' ') THEN
 SET cadena = CONCAT(cadena,' ');
 SET cont = cont + 1;
 SET flag = 1;
 ELSE
 SET flag = 0;
 END IF;
 IF flag = 1 THEN
 SET cadena = CONCAT(cadena,UCASE(SUBSTRING(s,cont,1)));
 ELSE
 SET cadena = CONCAT(cadena,LCASE(SUBSTRING(s,cont,1)));
 END IF;
 SET cont = cont + 1;
 END WHILE;
 
 RETURN LTRIM(cadena);
END;
||
DELIMITER ;


El uso sería el siguiente:

SELECT ucwords("hola mundo"); #->Hola Mundo


En un update:
UPDATE mi_tabla SET mi_campo = ucwords(mi_campo) [WHERE...]


Tomado de: http://www.elden.com.mx/2009/04/02/ucwords-for-mysql/

Comentarios (0)
¡Sólo los usuarios registrados pueden escribir comentarios!