Ver Mensaje Individual
  #11 (permalink)  
Antiguo 03/04/2008, 06:30
fenryl666
 
Fecha de Ingreso: abril-2008
Mensajes: 1
Antigüedad: 16 años, 1 mes
Puntos: 0
Re: como dejo en mayuscula la primera letra? Mysql

Hola me registre en este foro solo para responder esta pregunta ya que yo tube el mismo problema (en sql server) pero ya lo pude solucionar y creo que esta bueno compartir esta informacion.Espero que esto tambien sirva para mysql
Lo que hace esto es crear una funcion llamada initcap que seria la equivalente a la de oracle lo que tendrias que hacer es adaptarla a mysql, si es que hay que adaptarla, esta asi como esta funciona perfectamente en sql server 2000.
despues de ejecutarle haces una consulta normal Select initcap ('crisTian Eduardo') te retorna 'Cristian Eduardo'.

create function initcap (@text varchar(4000))
returns varchar(4000)
as

begin
declare @counter int,
@length int,
@char char(1),
@textnew varchar(4000)

set @text = rtrim(@text)
set @text = lower(@text)
set @length = len(@text)
set @counter = 1

set @text = upper(left(@text, 1) ) + right(@text, @length - 1)

while @counter <> @length --+ 1
begin
select @char = substring(@text, @counter, 1)

IF @char = space(1) or @char = '_' or @char = ',' or @char = '.' or @char = '\'
or @char = '/' or @char = '(' or @char = ')'
begin
set @textnew = left(@text, @counter) + upper(substring(@text,
@counter+1, 1)) + right(@text, (@length - @counter) - 1)
set @text = @textnew
end

set @counter = @counter + 1
end

return @text
end


a me olvidaba para que funcione la consulta tiene que hacerse asi
SELECT dbo.initcap(nombre_cliente) AS Expr1
FROM clientes
es decir se tiene que porne dbo.nombre_de_funcion_creada

Última edición por fenryl666; 03/04/2008 a las 06:44