3

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

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

4

3 回答 3

7

LIKE在单个字符之间使用%-wildcard:

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];
于 2012-06-12T09:40:46.937 回答
2
SELECT * FROM yourTable WHERE columnName LIKE '%MF%'

学到更多:

http://www.sqllike.com/

于 2012-06-12T09:38:21.463 回答
2

你能不能只说

SELECT * FROM blah WHERE weekday LIKE "%MF%"
于 2012-06-12T09:39:41.127 回答