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

[SOLUCIONADO] Buscar por caracteres en una cadena de texto

Estas en el tema de Buscar por caracteres en una cadena de texto en el foro de SQL Server en Foros del Web. Hola, que tal! Quisiera saber como se hace una consulta para poder pararme dentro del campo Equipos en el número '%8640%' y que me traiga ...
  #1 (permalink)  
Antiguo 01/07/2014, 08:27
 
Fecha de Ingreso: noviembre-2010
Mensajes: 175
Antigüedad: 13 años, 5 meses
Puntos: 1
Buscar por caracteres en una cadena de texto

Hola, que tal!


Quisiera saber como se hace una consulta para poder pararme dentro del campo Equipos en el número '%8640%' y que me traiga los cuatro caracteres que le preceden, o sea los, que tiene adelante.


Saludos!
  #2 (permalink)  
Antiguo 01/07/2014, 08:42
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Buscar por caracteres en una cadena de texto

algo como esto?

Código SQL:
Ver original
  1. DECLARE @cadena VARCHAR(100)
  2. SET @cadena='11186405599'
  3. SELECT SUBSTRING(@cadena,charindex('8640',@cadena)+4,len(@cadena))

resultado:
5599
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #3 (permalink)  
Antiguo 01/07/2014, 10:25
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Buscar por caracteres en una cadena de texto

funciono no funciono? es lo que querias(asumo que si por eso no has contestado otra cosa)???
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #4 (permalink)  
Antiguo 02/07/2014, 08:29
 
Fecha de Ingreso: noviembre-2010
Mensajes: 175
Antigüedad: 13 años, 5 meses
Puntos: 1
Respuesta: Buscar por caracteres en una cadena de texto

Perfecto, gracias!


Ahora necesitaría, si se puede, saber como podría hacer para traer registros donde el dato de un campo esté dentro de una cadena de texto de otro campo pero variando la posición de sus caracteres (o sea, que nunca el dato estará en la misma ubicación dentro de la cadena), ej:


Equipo = Q0137A8605

Trama = TRK-STACK-Q0137A8605-Q0137B8605


O sea, si el equipo figura dentro del campo trama, que traiga el registro.

Slds
  #5 (permalink)  
Antiguo 02/07/2014, 08:36
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Buscar por caracteres en una cadena de texto

like no te funciona???

Código SQL:
Ver original
  1. SELECT campo FROM tabla WHERE campo LIKE '%cadena%'
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #6 (permalink)  
Antiguo 02/07/2014, 08:47
 
Fecha de Ingreso: noviembre-2010
Mensajes: 175
Antigüedad: 13 años, 5 meses
Puntos: 1
Respuesta: Buscar por caracteres en una cadena de texto

Cita:
Iniciado por Libras Ver Mensaje
like no te funciona???

Código SQL:
Ver original
  1. SELECT campo FROM tabla WHERE campo LIKE '%cadena%'


Mejor pongo el ejemplo concreto.

Con esta query traigo los equipos que necesito que terminan en la condicion like de los rotulos:

Código SQL:
Ver original
  1. SELECT
  2.         e.Nombre,
  3.         e.Sitio,
  4.         A.anillo,
  5.         t.Rotulo,
  6.         t.Subeq,
  7.         t.Posicion,
  8.         t.Lado,
  9.         tr.Trama,
  10.         t.Proteccion,
  11.         t.vc,
  12.         u.Id_usuario AS Usuario,
  13.         tr.Observaciones
  14. FROM
  15.         trails t
  16. INNER JOIN
  17.         Equipos e
  18. ON
  19.         t.Rotulo = e.Rotulo
  20. LEFT JOIN
  21.         Anillos A
  22. ON
  23.         T.Rotulo = A.rotulo
  24. LEFT JOIN
  25.         tramas tr
  26. ON 
  27.         t.trama = tr.trama
  28. LEFT JOIN
  29.         usuarios u
  30. ON
  31.         tr.usuario = Id_Usuario
  32. WHERE
  33.         t.rotulo LIKE '%8605' OR t.rotulo LIKE '%8607'
  34.         OR t.rotulo LIKE '%8609' OR t.rotulo LIKE '%8620'
  35.         OR t.rotulo LIKE '%8630' OR t.rotulo LIKE '%8660'
  36.         OR t.rotulo LIKE '%8840'


De todos los equipos que trae, como el caso anterior que puse el ejemplo (Q0137A8605), necesito que me traiga las tramas de aquellos equipos que estén dentro del campo trama donde dicho campo trae esta informacion: " TRK-STACK-Q0137A8605-Q0137B8605" entre varias, porque el equipo no siempre puede aparecer en esa posicion para buscarlo por índice de caracteres.

Última edición por gnzsoloyo; 02/07/2014 a las 09:00
  #7 (permalink)  
Antiguo 02/07/2014, 08:50
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Buscar por caracteres en una cadena de texto

un ejemplo de tus datos estaria mejor que un query, que no soy adivino para saber que tipo de informacion regresa ese query
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #8 (permalink)  
Antiguo 02/07/2014, 09:05
 
Fecha de Ingreso: noviembre-2010
Mensajes: 175
Antigüedad: 13 años, 5 meses
Puntos: 1
Respuesta: Buscar por caracteres en una cadena de texto

Cita:
Iniciado por Libras Ver Mensaje
un ejemplo de tus datos estaria mejor que un query, que no soy adivino para saber que tipo de informacion regresa ese query

De esa query, sólo me interesa los equipos (Campo rotulo) y sus tramas (Campo trama) .

Los equipos (rotulo) tienen denominaciones como esta "Q0137A8605".

Necesito que si los equipos cumplen con la condicion de aparecer dentro del campo trama, o sea, dentro de su cadena de texto, que traiga entonces el equipo con su trama.

Última edición por t0n1; 02/07/2014 a las 09:20
  #9 (permalink)  
Antiguo 02/07/2014, 09:27
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Buscar por caracteres en una cadena de texto

quizas para ti que conoces los datos haga sentido, pero yo que no se que resultados regresa tu query no me hace mucho sentido segun a lo que te entiendo y corrigeme si estoy mal con esto solucionas tu problema:

Código SQL:
Ver original
  1. SELECT * FROM(
  2. SELECT
  3.         e.Nombre,
  4.         e.Sitio,
  5.         A.anillo,
  6.         t.Rotulo,
  7.         t.Subeq,
  8.         t.Posicion,
  9.         t.Lado,
  10.         tr.Trama,
  11.         t.Proteccion,
  12.         t.vc,
  13.         u.Id_usuario AS Usuario,
  14.         tr.Observaciones
  15. FROM
  16.         trails t
  17. INNER JOIN
  18.         Equipos e
  19. ON
  20.         t.Rotulo = e.Rotulo
  21. LEFT JOIN
  22.         Anillos A
  23. ON
  24.         T.Rotulo = A.rotulo
  25. LEFT JOIN
  26.         tramas tr
  27. ON  
  28.         t.trama = tr.trama
  29. LEFT JOIN
  30.         usuarios u
  31. ON
  32.         tr.usuario = Id_Usuario
  33. WHERE
  34.         t.rotulo LIKE '%8605' OR t.rotulo LIKE '%8607'
  35.         OR t.rotulo LIKE '%8609' OR t.rotulo LIKE '%8620'
  36.         OR t.rotulo LIKE '%8630' OR t.rotulo LIKE '%8660'
  37.         OR t.rotulo LIKE '%8840'
  38. ) AS t1 WHERE t1.campo_a_buscar LIKE '%Q0137A8605%'

ya si me das un ejemplo como esto:

el query me regresa 123456789 y quiero que me busque donde nada mas sea 123

te podria ayudar mejor, pero el ejemplo con DATOS no con nombres de columnas que como dije para mi no significan nada
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #10 (permalink)  
Antiguo 02/07/2014, 12:09
 
Fecha de Ingreso: noviembre-2010
Mensajes: 175
Antigüedad: 13 años, 5 meses
Puntos: 1
Respuesta: Buscar por caracteres en una cadena de texto

Perfecto, Gracias!
  #11 (permalink)  
Antiguo 02/07/2014, 14:30
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Buscar por caracteres en una cadena de texto

Cita:
Iniciado por t0n1 Ver Mensaje
Perfecto, Gracias!
Eso era lo que buscabas???
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me

Etiquetas: cadena, caracteres
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 03:08.