Sql和模式匹配

时间:2014-01-10 05:32:02

标签: php sql regex

我在表中有一个字段,我使用序列化函数实例

存储在数据库中

a:3:{i:0;s:18:"Government Sectors";i:1;s:15:"Private Sectors";i:2;s:6:"Others";}

SQL字段的名称是jobtype

现在我需要根据此字段值准备搜索我的选择语句是

SELECT * FROM some_jobs WHERE jobtype='%$Keyword%' AND state=1

假设$Keyword值是政府部门

它正在返回NULL。我该怎么做?我可以使用SQL中的模式匹配来完成此操作,如果是,那么如何?

2 个答案:

答案 0 :(得分:0)

在MySQL中,您可以使用关键字LIKE E.G。

SELECT * FROM some_jobs WHERE jobtype LIKE '%$Keyword%' AND state=1

%s是你可能已经知道的通配符。

LIKE类似于REGEXP,但使用起来更简单,从我读到的内容中保留了表索引,因此查询速度更快。 这将返回文本中某处包含“关键字”的行。

答案 1 :(得分:0)

要知道我在这里犯下的愚蠢错误!!

我在sql查询中使用了=而不是像term一样。

将sql查询修改为以下代码并且可以正常工作。

SELECT * FROM some_jobs WHERE jobtype LIKE '%$Keyword%' AND state=1