Ver Mensaje Individual
  #10  
Antiguo 20-02-2017
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola Agustín.
Cita:
Empezado por AgustinOrtu Ver Mensaje
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
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita