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

campo SET y busqueda

Estas en el tema de campo SET y busqueda en el foro de Bases de Datos General en Foros del Web. Bien, estuve leyendo sobre el uso de el campo de tipo SET y lo estoy usando para buscar coincidencias. Ahora, alguien podria explicarme como usar ...
  #1 (permalink)  
Antiguo 10/10/2004, 04:13
 
Fecha de Ingreso: junio-2004
Ubicación: Buenos Aires
Mensajes: 60
Antigüedad: 20 años, 5 meses
Puntos: 1
campo SET y busqueda

Bien, estuve leyendo sobre el uso de el campo de tipo SET y lo estoy usando para buscar coincidencias. Ahora, alguien podria explicarme como usar esta tecnica pero de otra manera? Que tal si uno desea buscar registros que NO contengan una opcion especifica?

He probado con esto, pero no me funciona

SELECT * FROM tabla WHERE campo_set & ~opcion

O sea que buscamos los registros que en el campo SET tengan lo que sea, menos opcion.

Alguien sabe si se puede hacer y como?

Gracias
  #2 (permalink)  
Antiguo 10/10/2004, 09:49
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 9 meses
Puntos: 772
Hola boxin.

¿Has probado con...?

SELECT * FROM tabla WHERE campo_set <> opcion

Suerte. Saludos,
  #3 (permalink)  
Antiguo 10/10/2004, 18:09
 
Fecha de Ingreso: junio-2004
Ubicación: Buenos Aires
Mensajes: 60
Antigüedad: 20 años, 5 meses
Puntos: 1
Si, ya lo probe. Lo unico que hace el <> y el ~ es una busqueda exacta, osea que no devuelve los registros cuyo campo SET sea igual a "x". Pero si el campo contiene x,2,8 lo devuelve como resultado.
Acaso este tipo de campo no permite hacer lo que necesito, que es bien basico?

Última edición por boxin; 10/10/2004 a las 18:11
  #4 (permalink)  
Antiguo 11/10/2004, 02:44
Avatar de Vice  
Fecha de Ingreso: agosto-2003
Mensajes: 613
Antigüedad: 21 años, 3 meses
Puntos: 2
¿Has probado la función FIND_IN_SET del mysql?. Mira en este enlace para ver más.
Un saludo.
  #5 (permalink)  
Antiguo 11/10/2004, 04:43
 
Fecha de Ingreso: junio-2004
Ubicación: Buenos Aires
Mensajes: 60
Antigüedad: 20 años, 5 meses
Puntos: 1
Ahora si! Gracias Vice
Quedaria algo asi:

select * from tabla where FIND_IN_SET('valor',campo_set)=0

Una nota rara: no funciona si separamos el nombre de la funcion del primer parentesis (debe ser un bug porque otras funciones de string si funcionan bien)

select * from tabla where FIND_IN_SET ('valor',campo_set)=0

Aunque todavia me sigo preguntando si no es posible sin la funcion FIND_IN_SET
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 15:28.