Coincidencia de cadenas SQL

Yo uso una cadena para almacenar los días de la semana, algo como esto: MTWTFSS. Y si busco MF (lunes y viernes), la consulta debe devolver todas las cadenas que contienen MF (por ejemplo: MWF, MTWTFS, MF, etc.).

No sé cómo hacer esto en SQL (MySQL).

preguntado el 12 de junio de 12 a las 10:06

3 Respuestas

utilizado LIKE con %-comodín entre los caracteres individuales:

SELECT * FROM table WHERE column LIKE '%M%F%';

tenga en cuenta que esto solo funcionará si los caracteres están en el orden correcto, buscando FM en lugar de MF no te dará ningún resultado.
también tendrá que encontrar una manera de insertar el %s a su término de búsqueda, pero eso no debería ser un gran problema (lamentablemente, no ha dicho qué lenguaje de programación está usando).

si los caracteres pueden estar en orden aleatorio, deberá crear una consulta como:

SELECT * FROM table WHERE
  column LIKE '%M%'
AND
  column LIKE '%F%'
[more ANDs per character];

Respondido el 12 de junio de 12 a las 10:06

SELECT * FROM yourTable WHERE columnName LIKE '%MF%'

Aprende más:

http://www.sqllike.com/

Respondido el 12 de junio de 12 a las 10:06

esto no coincidirá MWF, pero debería. la cláusula similar tiene que ser %M%F% en mi opinión. - oezi

@oezi: Probablemente si OP realmente quisiera decir eso :) - Sarfraz

¿No puedes simplemente decir

SELECT * FROM blah WHERE weekday LIKE "%MF%"

Respondido el 12 de junio de 12 a las 13:06

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.