我有一个像这样的“工作”表:
---------------------------------------------- |job_id |name |skills | ---------------------------------------------- |1 |Job 1 |[1] | |2 |Job 2 |[2,3] | |3 |Job 3 |[4,5,6] | ----------------------------------------------
“技能”列包含一个JSON数组。
我需要选择能够满足一项或多项技能的工作-像这样(但显然行不通):
SELECT * FROM jobs WHERE skills IN (1,4)
应该返回:
---------------------------------------------- |job_id |name |skills | ---------------------------------------------- |1 |Job 1 |[1] | |3 |Job 3 |[4,5,6] | ----------------------------------------------
你可以用 REGEXP
REGEXP
select * from jobs where skills REGEXP '[[:<:]]1[[:>:]]|[[:<:]]4[[:>:]]'
[[:<:]]在前后 附加[[:>:]]附加值,以匹配精确值并|匹配多个值。
[[:<:]]
[[:>:]]
|
> >>演示<<<