匹配mysql中值数组的值

时间:2011-11-22 10:41:28

标签: php mysql sql-like

我有这样的查询:

$sql = "
        SELECT
            *
        FROM
            tbl_emp_data
        WHERE
            company_qualification = '$q'
    ";

现在我的company_qualification字段不是单个值,而是由逗号BSc,BA,BCom等分隔的单词。值$q是单个值BA。那么如何从值$q中搜索公司数据。我无法使用LIKE,因为它会匹配BABBA等字段。

3 个答案:

答案 0 :(得分:4)

您可以使用FIND_IN_SET

$sql = "
        SELECT
            *
        FROM
            tbl_emp_data
        WHERE        
           FIND_IN_SET($q,company_qualification)
    ";

答案 1 :(得分:1)

$sql = "
        SELECT
            *
        FROM
            tbl_emp_data
        WHERE
            company_qualification IN ('".implode("','",$q)."')
    ";

答案 2 :(得分:0)

您可以像这样使用IN

SELECT * FROM tbl_emp_data WHERE company_qualification IN ('BSc', 'BA', 'BCom');