查询:在数据库字段中查找字符串

时间:2013-10-26 03:57:34

标签: php mysql database

在我的数据库表中,我有三个字段。假设字段名称是name,age和favorite_numbers。

现在,我的数据库内容如下:

  1. 安娜15岁,她最喜欢的数字是“14,21,16”
  2. 杰西卡20岁,她最喜欢的数字是“21,30,20”
  3. Sara是30岁,她最喜欢的数字是“50,45,21”
  4. Jessa是12岁,她最喜欢的数字是“10,12,20”
  5. 法拉是19岁,她最喜欢的数字是“6,12,20”
  6. 如何制定我的查询以查看最喜欢数量为21的人的姓名?

    在上面的内容中,我想展示Anna,Jessica和Sara的名字,因为他们三个人最喜欢的数字是21。

2 个答案:

答案 0 :(得分:3)

查看使用FIND_IN_SET(str,strlist)

  

如果字符串str在,则返回1到N范围内的值   字符串列表strlist由N个子串组成。字符串列表是   由“,”字符分隔的子串组成的字符串。如果   第一个参数是一个常量字符串,第二个参数是一个类型的列   SET,FIND_IN_SET()函数被优化为使用位运算。   如果str不在strlist中,或者strlist是空字符串,则返回0。   如果任一参数为NULL,则返回NULL。

SQL Fiddle DEMO

请注意使用

WHERE nums LIKE '%21%'

不起作用,因为那时还包括211和121

答案 1 :(得分:0)

尝试此查询:
我想你的表名是user(你没有给出表名)。

SELECT * FROM user WHERE favorite_numbers like '%21%'