Hola Agustín.
Cita:
Empezado por AgustinOrtu
Pero en ese caso, no transformaria
Código:
MARIA FERNANDEZ CUELLO --> Maria fernandez cuello
|
Tenés toda la razón, se me escapó la tortuga
Desde
Firebird, tendría que hacer un procedimiento almacenado:
Código SQL
[-]
SET TERM ^ ;
CREATE OR ALTER PROCEDURE PR_FIRST_CAP_CHAR (
NOMBRE VARCHAR(255))
RETURNS (
RESULT VARCHAR(255))
AS
DECLARE VARIABLE I INTEGER;
BEGIN
RESULT = '';
I = 1;
WHILE ( I <= CHAR_LENGTH( NOMBRE ) ) DO
BEGIN
IF ( I = 1 ) THEN
RESULT = RESULT || UPPER( SUBSTRING ( NOMBRE FROM I FOR 1 ) );
ELSE IF ( SUBSTRING ( NOMBRE FROM I-1 FOR 1 ) = ' ') THEN
RESULT = RESULT || UPPER( SUBSTRING ( NOMBRE FROM I FOR 1 ) );
ELSE
RESULT = RESULT || LOWER( SUBSTRING ( NOMBRE FROM I FOR 1 ) );
I = I + 1;
END
SUSPEND;
END^
SET TERM ; ^
Llamadas ejemplo:
Código SQL
[-]SELECT RESULT FROM PR_FIRST_CAP_CHAR ( 'maRia dE los aNgeLes jUArez' )
Código SQL
[-]UPDATE TABLA SET NOMBRE = ( SELECT RESULT FROM PR_FIRST_CAP_CHAR( NOMBRE ) )
Saludos