Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

[SOLUCIONADO] Elimnar el contenido de una columna

Estas en el tema de Elimnar el contenido de una columna en el foro de Bases de Datos General en Foros del Web. Que tal. Tengo una columna en excel con setecientas filas con estos datos que traen cientos de equipos con diversa numeracion: Cita: SanJuanCCM to J0058A8605 ...
  #1 (permalink)  
Antiguo 04/07/2014, 08:15
 
Fecha de Ingreso: noviembre-2010
Mensajes: 175
Antigüedad: 14 años
Puntos: 1
Elimnar el contenido de una columna

Que tal.

Tengo una columna en excel con setecientas filas con estos datos que traen cientos de equipos con diversa numeracion:

Cita:
SanJuanCCM to J0058A8605 Gobernador Cavez
a M0116A8605 General Alvear
Mendoza a M0041A8605 Cabral
JONTE a C0900B8660 Anasco
San Rafael a M1026A8630 San Rafael TASA
to M0100A8660:
Anasco a C0011A8605 Nunes
SanLuisCCM a D0003A8605 Progreso CRM
Bahia Blanca a B0789A8607 Tres Arroyos
Santa Fe a E0060A8620 Chajari TMA

Yo necesitarìa saber si de podria eliminar todo el contenido excepto esa numeración de serie de equipos que necesito. O sea, que queden de esta manera:

Cita:
J0058A8605
M0116A8605
M0041A8605
C0900B8660
M1026A8630
M0100A8660
C0011A8605
B0789A8607
E0060A8620

Saludos
  #2 (permalink)  
Antiguo 04/07/2014, 09:19
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 3 meses
Puntos: 774
Respuesta: Elimnar el contenido de una columna

tus datos no tienen un standar para poder encontrar la relacion de lo que necesitas lo unico que veo es que tus codigos son todos de 10 caracteres por lo que hice este query:

Código SQL:
Ver original
  1. CREATE FUNCTION test_char (@cadena VARCHAR(MAX))
  2. RETURNS VARCHAR(MAX)
  3. AS
  4. BEGIN
  5.     --declare @cadena varchar(max)
  6.     DECLARE @cadena2 VARCHAR(MAX)
  7.     DECLARE @caracter VARCHAR(10)
  8.     DECLARE @resultado VARCHAR(20)
  9.     DECLARE @x INT
  10.     --set @cadena='Santa Fe a E0060A8620 Chajari TMA'
  11.     SET @resultado=''
  12.     SET @x=1
  13.     while @x<=len(@cadena)
  14.     BEGIN
  15.         SELECT @caracter=SUBSTRING(@cadena,@x,1)
  16.         IF @caracter=' '
  17.         BEGIN
  18.    
  19.             SELECT @cadena2=SUBSTRING(@cadena,1,@x)        
  20.  
  21.             IF len(@cadena2)=11
  22.             BEGIN
  23.                  SET @resultado=@resultado + @cadena2              
  24.             END
  25.  
  26.             SET @cadena=SUBSTRING(@cadena,len(@cadena2)+1,len(@cadena))
  27.             --print @cadena    
  28.             SET @x=1   
  29.         END
  30.         SET @x=@x+1
  31.     END
  32.  
  33.     RETURN @resultado
  34. END
  35.  
  36.  
  37. CREATE TABLE #resultado
  38. (
  39. campo VARCHAR(100)
  40. )
  41.  
  42. INSERT INTO #resultado VALUES ('SanJuanCCM to J0058A8605 Gobernador Cavez')
  43. INSERT INTO #resultado VALUES ('a M0116A8605 General Alvear')
  44. INSERT INTO #resultado VALUES ('Mendoza a M0041A8605 Cabral')
  45. INSERT INTO #resultado VALUES ('JONTE a C0900B8660 Anasco')
  46. INSERT INTO #resultado VALUES ('San Rafael a M1026A8630 San Rafael TASA')
  47. INSERT INTO #resultado VALUES ('to M0100A8660:')
  48. INSERT INTO #resultado VALUES ('Anasco a C0011A8605 Nunes')
  49. INSERT INTO #resultado VALUES ('SanLuisCCM a D0003A8605 Progreso CRM')
  50. INSERT INTO #resultado VALUES ('Bahia Blanca a B0789A8607 Tres Arroyos')
  51. INSERT INTO #resultado VALUES ('Santa Fe a E0060A8620 Chajari TMA')
  52.  
  53. SELECT dbo.test_char(campo) FROM #resultado
Y regresa esto como resultado:
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
J0058A8605 Gobernador
M0116A8605
M0041A8605
C0900B8660
M1026A8630

C0011A8605
D0003A8605
B0789A8607

Como ves regresa algunos datos con mas informacion(como gobernador que tiene 10 caracteres de largo) y algunos como M0100A8660: no lo regresa porque tiene 11 carcteres de largo entre espacios, pero te regresara los que si cumplan y los que no (que supongo seran pocos) los podras acomodar de forma manual :)
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #3 (permalink)  
Antiguo 04/07/2014, 11:00
 
Fecha de Ingreso: noviembre-2010
Mensajes: 175
Antigüedad: 14 años
Puntos: 1
Respuesta: Elimnar el contenido de una columna

Perfecto gracias!

Etiquetas: columna, contenido
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:58.