Eliminar campos

28/11/2005 - 18:11 por JReyes | Informe spam
Hola como estas
Tengo una base de datos con 1000 registros en ello tengo casi la mitad en
mayuscula y la otra en minuscula necesito eliminar las que estan en mayuscula
he probado con esto:

DELETE FROM [DBUCE].[dbo].[CMedicos]
WHERE (UPPER(Nombre))=(UPPER(Nombre))

pero no me funciona, pueden ayudarme en esto...

De antemano gracias

Preguntas similare

Leer las respuestas

#1 Maxi
28/11/2005 - 18:55 | Informe spam
Hola, hasta donde yo se en sql no existe una funcion que determine si todo
el valor esta en mayuscula o miniscula, y vos lo que primero debes
identificar son aquellos campos en mayusculas.

Una pregunta: No tienes algun otro identificador para estos registros?


Salu2
Maxi [MVP SQL SERVER]


"JReyes" escribió en el mensaje
news:
Hola como estas
Tengo una base de datos con 1000 registros en ello tengo casi la mitad en
mayuscula y la otra en minuscula necesito eliminar las que estan en
mayuscula
he probado con esto:

DELETE FROM [DBUCE].[dbo].[CMedicos]
WHERE (UPPER(Nombre))=(UPPER(Nombre))

pero no me funciona, pueden ayudarme en esto...

De antemano gracias
Respuesta Responder a este mensaje
#2 Alejandro Mesa
28/11/2005 - 19:06 | Informe spam
JReyes,

Puedes usar la clausula "COLLATE" o la funcion "BINARY_CHECKSUM".

Ejemplo:

select
c1
from
(
select 'microsoft' as c1
union all
select 'MICROSOFT'
) as t1
where
binary_checksum(c1) = binary_checksum(UPPER(c1))

select
c1
from
(
select 'microsoft' as c1
union all
select 'MICROSOFT'
) as t1
where
c1 collate SQL_Latin1_General_CP1_CS_AS = UPPER(c1) collate
SQL_Latin1_General_CP1_CS_AS
go

DELETE [DBUCE].[dbo].[CMedicos]
WHERE binary_checksum(Nombre)= binary_checksum(UPPER(Nombre))
go

Recuerda hacer la prueba usando una transaccion explicita para que puedas
hacer un "rollback transaction" en caso de que no sea esto lo que quieres.


AMB


"JReyes" wrote:

Hola como estas
Tengo una base de datos con 1000 registros en ello tengo casi la mitad en
mayuscula y la otra en minuscula necesito eliminar las que estan en mayuscula
he probado con esto:

DELETE FROM [DBUCE].[dbo].[CMedicos]
WHERE (UPPER(Nombre))=(UPPER(Nombre))

pero no me funciona, pueden ayudarme en esto...

De antemano gracias
Respuesta Responder a este mensaje
#3 Maxi [MVP]
29/11/2005 - 00:14 | Informe spam
Que buen dato Ale, la verdad que no sabia de la existencia de esta funcion
:-S

Gracias por el ejemplo :-)


Salu2
-
[MVP] SQL Server
Orador para Culminis Latam
www.sqlgurus.org



"Alejandro Mesa" escribió en el
mensaje news:
JReyes,

Puedes usar la clausula "COLLATE" o la funcion "BINARY_CHECKSUM".

Ejemplo:

select
c1
from
(
select 'microsoft' as c1
union all
select 'MICROSOFT'
) as t1
where
binary_checksum(c1) = binary_checksum(UPPER(c1))

select
c1
from
(
select 'microsoft' as c1
union all
select 'MICROSOFT'
) as t1
where
c1 collate SQL_Latin1_General_CP1_CS_AS = UPPER(c1) collate
SQL_Latin1_General_CP1_CS_AS
go

DELETE [DBUCE].[dbo].[CMedicos]
WHERE binary_checksum(Nombre)= binary_checksum(UPPER(Nombre))
go

Recuerda hacer la prueba usando una transaccion explicita para que puedas
hacer un "rollback transaction" en caso de que no sea esto lo que quieres.


AMB


"JReyes" wrote:

Hola como estas
Tengo una base de datos con 1000 registros en ello tengo casi la mitad en
mayuscula y la otra en minuscula necesito eliminar las que estan en
mayuscula
he probado con esto:

DELETE FROM [DBUCE].[dbo].[CMedicos]
WHERE (UPPER(Nombre))=(UPPER(Nombre))

pero no me funciona, pueden ayudarme en esto...

De antemano gracias
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida