SQL - Función para convertir mayúsculas y minúsculas

 
Vista:

Función para convertir mayúsculas y minúsculas

Publicado por david (1 intervención) el 18/06/2001 14:39:11
tengo que realizar una función para poner un nombre de cliente en formato de que la letra por la que empieza sea mayúsculas y el resto en minúsculas.
Por ahora es fácil ya que usando substring, lower y upper lo hago, el problema es cuando es un nombre compuesto, por ejemplo Laura de Miguel, ya que no sé como hacer para controlar cuando hay espacio en blanco o dos nombres o el artículo.
si me ayudais con una función para recorrer la cadena y controlar estas excepciones os lo agradezco de todo corazón.
lo que he hecho de momento es

SELECT SUBSTRING(UPPER (NomCliente), 1, 1) + SUNSTRING (LOWER (NomCliente), 2,10)
FROM Clientes

esto me pone Laura de miguel
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Función para convertir mayúsculas y minúsculas

Publicado por Luis Uribe (1 intervención) el 18/06/2001 20:26:29
Personalmente prefiero hacer el select lo mas simple posible. En este caso, tu quieres recibir los datos tal como los quieres obtener, y eso es muy dificil, ¿porque te complicas?
Primero recupera tus datos, y luego recorre todos los registros obtenidos y aplicale una funcion para que haga todo lo que desees. Asi es mas facil.
En todo explica un poco mas que es lo que deseas hacer.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Función para convertir mayúsculas y minúsculas

Publicado por Roman Jesus Astorga Guzman (1 intervención) el 30/04/2008 17:27:17
David yo creo que vas por el lado correcto, yo que tu creo una funcion con dos opcines
uno solo para pasar la primera letra y el segundo para palabras compuestas,claro que tendrias que pasar dos parametros pero vas bien
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Función para convertir mayúsculas y minúsculas

Publicado por Ismael M. Santiago (1 intervención) el 12/03/2009 01:34:51
Disculpen yo conosco una manera de convertir de minusculas a mayusculas y alrevez, espero que les sirva.

El siguiente codigo es para ejecutar en una base de datos.

UPDATE base_datos.tabla SET campo1 = (UPPER(campo1))

UPDATE base_datos.tabla SET campo1 = (LOWER(campo1))
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Función para convertir mayúsculas y minúsculas

Publicado por Mariela Reyes (1 intervención) el 25/02/2010 16:57:44
Hola Ismael,
Muchas gracias por tu consejo, me ha sido de gran utilidad.
Saludos,
Mariela
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Función para convertir mayúsculas y minúsculas

Publicado por Mateo (1 intervención) el 24/03/2010 21:14:48
Orale... gracias compadre te fuiste al cielo con todo y zapatos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Función para convertir mayúsculas y minúsculas

Publicado por Francisco (4 intervenciones) el 17/11/2010 11:29:45
Un poco tarde pero para quien le sirva..
/*************************************************************************************************
Copyright © 2001 Narayana Vyas Kondreddi. All rights reserved.

Purpose: To convert a given string to proper case

Written by: Narayana Vyas Kondreddi
http://vyaskn.tripod.com

Tested on: SQL Server 2000

Date modified: December-5-2001 16:55 AM IST

Email: vyaskn@hotmail.com

Examples:

To convert the string 'william h gates' to proper case:
SELECT dbo.PROPERCASE('william h gates')

To convert the Notes field of titles table in pubs database to proper case:
SELECT dbo.PROPERCASE(notes) FROM pubs..titles
*************************************************************************************************/
CREATE FUNCTION PROPERCASE
(
--The string to be converted to proper case
@input varchar(8000)
)
--This function returns the proper case string of varchar type
RETURNS varchar(8000)
AS
BEGIN
IF @input IS NULL
BEGIN
--Just return NULL if input string is NULL
RETURN NULL
END

--Character variable declarations
DECLARE @output varchar(8000)
--Integer variable declarations
DECLARE @ctr int, @len int, @found_at int
--Constant declarations
DECLARE @LOWER_CASE_a int, @LOWER_CASE_z int, @Delimiter char(3), @UPPER_CASE_A int, @UPPER_CASE_Z int

--Variable/Constant initializations
SET @ctr = 1
SET @len = LEN(@input)
SET @output = ''
SET @LOWER_CASE_a = 97
SET @LOWER_CASE_z = 122
SET @Delimiter = ' ,-'
SET @UPPER_CASE_A = 65
SET @UPPER_CASE_Z = 90

WHILE @ctr <;= @len
BEGIN
--This loop will take care of reccuring white spaces
WHILE CHARINDEX(SUBSTRING(@input,@ctr,1), @Delimiter) >; 0
BEGIN
SET @output = @output + SUBSTRING(@input,@ctr,1)
SET @ctr = @ctr + 1
END

IF ASCII(SUBSTRING(@input,@ctr,1)) BETWEEN @LOWER_CASE_a AND @LOWER_CASE_z
BEGIN
--Converting the first character to upper case
SET @output = @output + UPPER(SUBSTRING(@input,@ctr,1))
END
ELSE
BEGIN
SET @output = @output + SUBSTRING(@input,@ctr,1)
END

SET @ctr = @ctr + 1

WHILE CHARINDEX(SUBSTRING(@input,@ctr,1), @Delimiter) = 0 AND (@ctr <;= @len)
BEGIN
IF ASCII(SUBSTRING(@input,@ctr,1)) BETWEEN @UPPER_CASE_A AND @UPPER_CASE_Z
BEGIN
SET @output = @output + LOWER(SUBSTRING(@input,@ctr,1))
END
ELSE
BEGIN
SET @output = @output + SUBSTRING(@input,@ctr,1)
END
SET @ctr = @ctr + 1
END

END
RETURN @output
END
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Función para convertir mayúsculas y minúsculas

Publicado por Luis el Alquimista (1 intervención) el 12/03/2012 04:54:00
Awesome
I modified this script to count mayusc, min and numbers, very useful, thanks!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Función para convertir mayúsculas y minúsculas

Publicado por ana (1 intervención) el 16/03/2012 17:28:07
MUCHAS GRACIAS FUNCIONO EXCELENTE.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Función para convertir mayúsculas y minúsculas

Publicado por Miguel (1 intervención) el 17/09/2014 20:34:51
Si pones nombre con la letra ñ no funciona.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Función para convertir mayúsculas y minúsculas

Publicado por ER (1 intervención) el 13/09/2012 01:39:37
Amigos.! No soy tan experto en esto del SQL pero creo que existe un funcion

ISUPPER( ) devuelve verdadero (.T.) si el primer carácter de una expresión de caracteres es alfabético y está en mayúsculas; de lo contrario, ISUPPER( ) devuelve falso (.F.).

? ISUPPER('Redmond') && Displays .T.
? ISUPPER('redmond') && Displays .F.

Recorres la cadena y cuando encuentres espacios en blanco vuelves a ejecutar la función y conviertes la primer letra a Mayuscula.

ER

Salu2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Función para convertir mayúsculas y minúsculas

Publicado por cristian (1 intervención) el 26/03/2014 05:10:10
Yo lo resolví utilizando una función que encuentra los espacios en blanco y convierte las primeras letras en mayúsculas y el resto en minúsculas ejemplo: si ingreso -- maria juana -- me devuelve -- Maria Juana
les paso el código

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
create function letr_mayu
(@nom varchar(50))
returns varchar(50)
as
begin
declare @minu varchar(50)
declare @ct int set @ct=1
declare @sp int
declare @nod varchar(5)
declare @nod1 varchar(5) set @nod1=''
 
while (@ct<len(@nom))
  begin
	set @nod=SUBSTRING(@nom,@ct,1)
	if (@nod=' ')
	begin
	 set @nod1=SUBSTRING(@nom,@ct+1,1)
	 set @sp=@ct
	end
	set @ct=@ct+1
  end
  if (@sp!=0)
	begin
	set @minu=concat (upper(left(@nom,1)),LOWER(substring(@nom,2,@sp-2)),' ',(concat(upper(@nod1),LOWER(right(@nom, LEN(@nom)-(@sp+1))))))
	end
 else
 begin
set @minu=concat (upper(left(@nom,1)),right(@nom,LEN(@nom)-1))
end
return @minu
end
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 150
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

Función para convertir mayúsculas y minúsculas

Publicado por xve (284 intervenciones) el 26/03/2014 08:00:38
Muchas gracias por compartirlo Cristian!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Función para convertir mayúsculas y minúsculas

Publicado por Héctor Orellana (1 intervención) el 26/11/2014 18:42:13
Mayuscukla

SELECT UPPER(Campo) as nombreCampo FROM TablaX

Si es a minúscula:

SELECT LOWER(ProductName) as nombreCampo FROM TablaX


saludos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Función para convertir mayúsculas y minúsculas

Publicado por Angel Ucan (1 intervención) el 09/03/2017 17:23:12
A mi me sirvio saludos
select STUFF (LOWER(Campo), 1, 1, UPPER(left(Campo, 1))) from tabla


con ayuda de aquí : https://social.msdn.microsoft.com/Forums/es-ES/7f7a5072-e2f7-47ac-b6e1-84184c2a5b71/sintaxis-para-poner-la-primera-letra-en-mayusculas-para-un-campo?forum=sqlserveres
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar