Cómo convertir mayúsculas en tipo Título?

22/08/2006 - 09:29 por Carlos A. | Informe spam
Hola a todos.
No sé si existe una función en SQL, pero en Excel existe una función para
convertir las máyúsculas en tipo título, por ejemplo
JUAN CARLOS ANDRADE --> Juan Carlos Andrade
AVENIDA DE LA INDEPENDENCIA --> Avenida De La Independencia
(Siempre la primera sólo en mayúscula)

Cómo puedo hacer para convertir una tabla con datos en mayúsculas en este
tipo de cadena?
Muchas gracias.
 

Leer las respuestas

#1 Miguel Egea
22/08/2006 - 13:54 | Informe spam
Creo que puede funcionar bien aunque el orden alguna vez en circunstancias
muy extrañas podría ser alterado al menos teóricamente.

Lo voy a publicar en PortalSQL. Se basa en parte en un script del gran Itzik
Ben Gan,

drop table nums

go

create table nums (id int not null primary key)

go

with myCte(id) as

(

select 1 id

union all

select id+1 id from MyCte where id<10000

)

insert into nums

select id from mycte option (maxrecursion 0);

go

drop function dbo.ToTitle

go

create function dbo.ToTitle(@Param as varchar(max))

returns varchar(max)

as

begin

Declare @v as varchar(max)

set @v=''

select @v=@v+UPPER(left(Texto,1))+lower(substring(Texto,2,len(Texto)))+' '
from

(

select id,substring(texto,id,patindex('% %',substring(texto+'
',id+1,len(texto)))) texto from

(select @param texto) a

inner join nums n

on substring(' '+ texto,id,1)=''

and id<len(texto)

) a

return @v

end

go

go

select dbo.ToTitle('en un lugar de la mancha de cuyo nombre no quiero
acordarme NO HA MUCHO QUE VIVIA UN HIDALGO')






"Carlos A." wrote in message
news:
Hola a todos.
No sé si existe una función en SQL, pero en Excel existe una función para
convertir las máyúsculas en tipo título, por ejemplo
JUAN CARLOS ANDRADE --> Juan Carlos Andrade
AVENIDA DE LA INDEPENDENCIA --> Avenida De La Independencia
(Siempre la primera sólo en mayúscula)

Cómo puedo hacer para convertir una tabla con datos en mayúsculas en este
tipo de cadena?
Muchas gracias.

Preguntas similares