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

Consulta de seleccion de una parte de nu texto

Estas en el tema de Consulta de seleccion de una parte de nu texto en el foro de Bases de Datos General en Foros del Web. Hola amigos necesito hacer una consulta k me muestre de un formato como este :(828,095,828,03.T.ALERO), entonces mi consulta me tiene k sacar todos akellos expedientes ...
  #1 (permalink)  
Antiguo 10/12/2003, 11:38
 
Fecha de Ingreso: noviembre-2003
Mensajes: 40
Antigüedad: 20 años, 5 meses
Puntos: 0
Consulta de seleccion de una parte de nu texto

Hola amigos necesito hacer una consulta k me muestre de un formato como este :(828,095,828,03.T.ALERO),
entonces mi consulta me tiene k sacar todos akellos expedientes en los k aparezca los numeros "03" .
es k no se exactamente como es el texto a poner en la consulta
a ver si me exais una mano
gracias de antemano
__________________
Davi
  #2 (permalink)  
Antiguo 10/12/2003, 12:08
 
Fecha de Ingreso: mayo-2003
Mensajes: 33
Antigüedad: 20 años, 11 meses
Puntos: 0
Mira.. hice lo siguiente en MS SQLServer 2000 y sí funcionó

creé una tabla con dos campos, un Id (autonumérico) y el otro llamado Descripción del tipo ntext (igual puede ser char, nvarchar...)

Inserté los siguientes valores:
1 (828,095,828,03.T.ALERO)
2 PRUEBA,03,
3 CUALQUIER TEXTO
4 OTRO TEXTO 03
5 DASDASDASDASD
6 AAAAAAAA,03,BBBBBBB

e hice la siguiente consulta (usando %'s):

SELECT *
FROM Tabla
WHERE (Descripcion LIKE '%03%')

y obtuve el siguiente resultado:
1 (828,095,828,03.T.ALERO)
2 PRUEBA,03,
4 OTRO TEXTO 03
6 AAAAAAAA,03,BBBBBBB

igual y te sirve que no??? y si no pos dejame seguirle investigando...

ahi la bimbo...
  #3 (permalink)  
Antiguo 10/12/2003, 12:25
 
Fecha de Ingreso: noviembre-2003
Mensajes: 40
Antigüedad: 20 años, 5 meses
Puntos: 0
prueba de la busqueda de cualquier campo

Hola muchas gracias por la respuesta pero veras,es una tabla giganteska que no puedo modificar, te explico "017-002,017,03,P.ALERO" (expedientes)es texto y un id no tiene,la consulta k e exo es la suiguiente:

SELECT [EXPEDIENTES ALERO].[Exp Alero], [EXPEDIENTES ALERO].Promotor, [EXPEDIENTES ALERO].Emplazamiento, [EXPEDIENTES ALERO].DescripciónProy
FROM [EXPEDIENTES ALERO]
WHERE ( [EXPEDIENTES ALERO].[Exp Alero] like '%03%');
Que el fin de esta consulta es k me sake el un conjunto de expedientes donde sean del "03" que el 03 hace referencia al año, pero al ejecutar la consulta no me sale nada , todo vacio,no se k hago mal.
a ver si tu sabes pq
gracias de antemano y seguire investigando
__________________
Davi
  #4 (permalink)  
Antiguo 10/12/2003, 12:44
 
Fecha de Ingreso: mayo-2003
Mensajes: 33
Antigüedad: 20 años, 11 meses
Puntos: 0
mmmm.. por lo que veo tu Base de Datos la tienes en Access no???

igual puedes probar en lugar de poner %'s escribes *'s (asteriscos)..

SELECT [EXPEDIENTES ALERO].[Exp Alero], [EXPEDIENTES ALERO].Promotor, [EXPEDIENTES ALERO].Emplazamiento, [EXPEDIENTES ALERO].DescripciónProy
FROM [EXPEDIENTES ALERO]
WHERE [EXPEDIENTES ALERO].[Exp Alero] like '*03*';

lo probé en access y si me funcionó....
  #5 (permalink)  
Antiguo 10/12/2003, 13:39
 
Fecha de Ingreso: noviembre-2003
Mensajes: 40
Antigüedad: 20 años, 5 meses
Puntos: 0
gracias

muchas gracias si me sale ahora a mi tb lo unico es k ya ves como son los expedientes 017-002,017,03,P.ALERO y lo k keria es k salieran los del 03 k ves en el expediente de arriba k hace referencia al año lo k me hace la consulta me saca todos los expedeitnes k contengan en alguna parte el 03 ,habria alguna manera de k en la consulta pusiera solo k buske ese 03 k son 2 cifras pq como ves el resto de numeros es de3 cifras y esos no me interesan, pq por ejemplo puedo tener 20 k contengan el 03 por ahi desperdigaos en alguna parte de los de 3 cifras y el año pornga por ejemplo 95 o vete a saber, no se si me explico, vamos k buske en los de 2 cifras los del 03
a ver si hay suerte, pero gracias de todas maneras.
__________________
Davi
  #6 (permalink)  
Antiguo 10/12/2003, 14:30
 
Fecha de Ingreso: mayo-2003
Mensajes: 33
Antigüedad: 20 años, 11 meses
Puntos: 0
ok.. ya te entendi.... mira hice la prueba otra vez en sql server (mas no en access y no lo he probado) usando la funcion "SUBSTRING" que es como la funcion MID de Visual Basic...

en general me di cuenta de que tus expedientes tienen el formato
XXX,XXX,XXX,AA,XXXXXXXX en donde AA es el año y es lo que tu quieres obtener

bueno... la posicion en el formato que le corresponde al año es 13 (de izquiera a derecha) y ocupa 2 lugares de longitud... con esto tenemos que puedes hacer la siguiente consulta:

select * from expedientes
where substring(Expediente, 13,2) like '03'

aqui ya no usas los comodines puesto que estas definiendo un lugar especifico....

como te digo hice la prueba con MSSQL Server teniendo los siguientes datos (por ejemplo)....

1 017-002,017,03,P.ALERO
2 828-095,828,03.T.ALERO
3 003-002,017,04,P.ALERO
4 012-002,017,01,P.ALERO
5 013-002,017,03,P.ALERO
6 014-002,017,00,P.ALERO
7 015-002,017,02,P.ALERO

al ejecutar la consulta que te digo obtengo el siguiente conjunto de resultados...

1 017-002,017,03,P.ALERO
2 828-095,828,03.T.ALERO
5 013-002,017,03,P.ALERO

si te fijas en el registro número 3 al principio tengo 003 pero en la parte del año tengo 04 así que la consulta no lo incluye...

dejame probarlo en access y despues te digo si funciona...

ahora si que me has hecho investigarle.. pero bueno... para eso es este foro y de paso a mi tambien me sirve...
  #7 (permalink)  
Antiguo 10/12/2003, 14:46
 
Fecha de Ingreso: mayo-2003
Mensajes: 33
Antigüedad: 20 años, 11 meses
Puntos: 0
Mira.. ya lo probé en access y en lugar de poner SUBSTRING usas la funcion MID (que trabaja exactamente igual)

SELECT *
FROM Expedientes
WHERE mid(Expedientes.Expediente,13,2) = '03';

y me trae los mismos resultados:

Id Expediente
1 017-002,017,03,P.ALERO
2 828-095,828,03.T.ALERO
5 013-002,017,03,P.ALERO

ojala y ahora si te haya servido.... y si no pos... aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhh!!!!!!

ahi la bimbo.. y suerte!!!!
  #8 (permalink)  
Antiguo 11/12/2003, 03:14
 
Fecha de Ingreso: noviembre-2003
Mensajes: 40
Antigüedad: 20 años, 5 meses
Puntos: 0
graciassssss

Miles de gracias si funciona ,eres un genio miles de gracias
__________________
Davi
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:40.