SQL字符串匹配

时间:2012-06-12 09:36:05

标签: mysql sql pattern-matching

我使用字符串存储一周中的日期,如下所示: MTWTFSS。如果我搜索MF(星期一和星期五),那么查询必须返回包含MF的所有字符串(例如:MWF,MTWTFS,MF等)。

我不知道如何在SQL(MySQL)中执行此操作。

3 个答案:

答案 0 :(得分:7)

LIKE%一起使用 - 单个字符之间的通配符:

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

请注意,这仅适用于字符顺序正确的情况 - 搜索FM代替MF不会给您任何结果。
你还需要找到一种方法将% s插入你的搜索词,但是这不应该是一个大问题(遗憾的是你没有说过你正在使用的编程语言)。

如果字符可以按随机顺序排列,则必须构建如下查询:

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

答案 1 :(得分:2)

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

了解详情:

http://www.sqllike.com/

答案 2 :(得分:2)

你能不能只说

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