Hola elpropiopato23:
Por alguna razón no pude ver el código de la liga que pusiste en tu primer post, pero veamos, hace tiempo encontré una implementación para hacer más o menos lo que quieres:
http://www.thingy-ma-jig.co.uk/blog/...per-case-words
Sólo tuve que hacer algunos ajustes para considerar la longitud de las palabras menores a 3 caracteres:
Código MySQL:
Ver originalDELIMITER $$
SET @regresar
:= oldWord
; RETURN @regresar;
tokenLoop: LOOP
SET @splitPoint
:= LOCATE(delim
, @oldString
);
SET @newString
:= CONCAT(@newString
, delim
, UC_FIRST
(@oldString
)); SET @newString
:= CONCAT(@newString
, UC_FIRST
(@oldString
)); LEAVE tokenLoop;
SET @newString
:= CONCAT(@newString
, delim
, UC_FIRST
(SUBSTRING(@oldString
, 1, @splitPoint
- 1))); SET @newString
:= CONCAT(@newString
, UC_FIRST
(SUBSTRING(@oldString
, 1, @splitPoint
- 1)));
DELIMITER ;
La implementación quedaría entonces así:
Código MySQL:
Ver originalmysql
> SELECT UC_DELIMETER
('uNA pRuEba PARA ver Si fUnCionA', ' ', FALSE);+-------------------------------------------------------------+
| UC_DELIMETER
('uNA pRuEba PARA ver Si fUnCionA', ' ', FALSE) | +-------------------------------------------------------------+
| Una Prueba Para ver si Funciona |
+-------------------------------------------------------------+
Dale un vistazo, pero creo que lo que necesitabas.
Saludos
Leo.