0

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

SELECT * FROM txz43_contact_details WHERE catid LIKE %18%
4

2 回答 2

3

使用FIND_IN_SET()

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

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

于 2013-09-18T10:36:00.120 回答
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', ',%')
于 2013-09-18T10:36:04.920 回答