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.

Preguntas similare

Leer las respuestas

#6 Carlos A.
23/08/2006 - 08:57 | Informe spam
Gracias a todos por sus respuestas.

"Miguel Egea" wrote in message
news:
Carlos, publiqué en portalsql la explicación detallada de como hice esa
función, es cierto que puede hacerse con un cursor, o un bucle como lo ha
implementado Minothauro, pero yo soy de la brigada anticursores :) así que
ahí llevas la explicacion por si le viene bien a alguien.

http://www.configuracionesintegrale...articulo26

Saludos
Miguel Egea
"Miguel Egea" wrote in message
news:%
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.









Respuesta Responder a este mensaje
#7 Miguel Egea
23/08/2006 - 12:18 | Informe spam
de nada hombre, por cierto, también he publicado como hacerlo con udfs
escritas en CLR (en C# en mi caso).

Saludos
Miguel Egea
"Carlos A." wrote in message
news:
Gracias a todos por sus respuestas.

"Miguel Egea" wrote in message
news:
Carlos, publiqué en portalsql la explicación detallada de como hice esa
función, es cierto que puede hacerse con un cursor, o un bucle como lo
ha implementado Minothauro, pero yo soy de la brigada anticursores :) así
que ahí llevas la explicacion por si le viene bien a alguien.

http://www.configuracionesintegrale...articulo26

Saludos
Miguel Egea
"Miguel Egea" wrote in message
news:%
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.













email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida