Py学习  »  DATABASE

mysql检查给定的字符串是否在逗号分隔的列表中,而不在\u集中查找\u

Aro Infantraj • 4 年前 • 165 次点击  
SELECT * FROM TABLE_NAME WHERE 'string' in ('string1','string2','string3')

它没有给出正确的结果,只在给定精确结果的情况下在集合中找到。如果不使用 find_in_set

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/38660
 
165 次点击  
文章 [ 1 ]  |  最新文章 4 年前
AmmoPT
Reply   •   1 楼
AmmoPT    5 年前

从表名中选择“*”,其中“string”位于 ('string1'、'string2'、'string3');

在上面的查询中, string 应该是一个字段(列),因此,如果要进行此查询,它将不带单引号。 ' ,如下所示:

从表名中选择*字符串 ('string1'、'string2'、'string3');

这将返回字段所在的所有行 一串 确实是 string1 string2 string3 .


现在,如果要查询字段 一串 对于像这样的价值观 “字符串”,不完全匹配,则使用 LIKE operator :

从表“名称”中选择“*”,其中字符串类似于“%string%”;

在上面的查询中,所有3条记录都包含 字符串1 , 字符串2 字符串3 将被退回。