简体   繁体   English

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

[英]How to fetch integer value from column having multiple values (comma separated) in MySql

I am facing some issue when I tried to fetch category_id from category column which having multiple values in it. 当我尝试从具有多个值的category列中获取category_id时,遇到了一些问题。 I try to use Like clause but it doesn't work. 我尝试使用Like子句,但是它不起作用。 This is what i tried 这就是我尝试过的

SELECT * FROM txz43_contact_details WHERE catid LIKE %18%

Use FIND_IN_SET() 使用FIND_IN_SET()

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

But actually you should really change your DB structure to avoid storing multiple values in one column! 但是实际上,您应该真正更改数据库结构,以避免在一个列中存储多个值!

You can use FIND_IN_SET() 您可以使用FIND_IN_SET()

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

or 要么

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM