如何从MySql中具有多个值(逗号分隔)的列中获取整数值

时间:2013-09-18 10:34:46

标签: php mysql mysqli

当我尝试从类别列中获取包含多个值的category_id时,我遇到了一些问题。我尝试使用Like子句但它不起作用。这是我试过的

SELECT * FROM txz43_contact_details WHERE catid LIKE %18%

2 个答案:

答案 0 :(得分:3)

使用FIND_IN_SET()

SELECT * FROM txz43_contact_details 
WHERE find_in_set(18, catid) > 0

但实际上你应该真正改变你的数据库结构,以避免在一列中存储多个值!

答案 1 :(得分:2)

您可以使用FIND_IN_SET()

SELECT * 
FROM txz43_contact_details 
WHERE FIND_IN_SET('18', catid) > 0

SELECT * 
FROM txz43_contact_details 
WHERE CONCAT(',', catid, ',') LIKE CONCAT('%,', '18', ',%')