如何在逗号分隔列mysql中用逗号分隔的字符串进行搜索

时间:2017-11-01 07:10:15

标签: mysql

我正在开发一个项目,我必须编写作业过滤器的代码。 在此,当我过滤工资时,它会发送薪水ID,如:

job_salary = array(
              [0]=>3,
              [1]=>4,
              [2]=>5,
              [3]=>6,
              [4]=>7,
              [5]=>8  
              )

我的作业表中的作业包含多个使用逗号字符串的工资。

id  salary_ids 
 1    2,4,6
 2    1,3,5
 3    4,5
 4    9,1

因此,如果我以数组形式搜索值3和5,如

job_salary = array(
              [0]=>3,
              [1]=>5
              );

它应该返回第二行和第三行,因为这些行包含值3和5。

2 个答案:

答案 0 :(得分:1)

如下所示使用它让我知道它是否有效

$values=array("1","2","3");

foreach($values as $val)
{
    $query="Select * from table_name where  FIND_IN_SET('".$val."',column_name)";
$result=mysql_query($query);
$data=mysql_fetch_array($result);
$dbval[]=$data['column_name'];

}

print_r($dbval);

答案 1 :(得分:0)

请再试一次这样

1)。对于Postgres MySQL:

SELECT FIND_IN_SET(5,userid) as result FROM department

2)。对于Postgres SQL:     选择 *     来自TABLENAME f     其中'searchvalue'= ANY(string_to_array(COLOUMNNAME,','))

示例

select * 
from customer f
where '11' = ANY (string_to_array(customerids,','))