当前位置: 首页 > 面试题库 >

如何同时使用通配符(LIKE)和数组(IN)进行选择?

朱阳晖
2023-03-14
问题内容

在SQL中,如果要使用通配符执行SELECT,则可以使用:

SELECT * FROM table_name WHERE field_name LIKE '%value%'

如果要使用可能值的数组,则可以使用:

SELECT * FROM table_name WHERE field_name IN ('one', 'two', 'three')

但是,如果您想同时使用通配符和数组,该怎么办?

就像:

SELECT * FROM table_name WHERE field_name LIKE IN ('%one', '_two', 'three[abv]')

问题答案:
SELECT *
FROM table_name
WHERE field_name LIKE '%one'
   OR field_name LIKE '_two'
   OR field_name LIKE 'three[abv]'


 类似资料:
  • 问题内容: 我该如何选择: 请不要告诉我可以使用,因为它们实际上来自查询。 问题答案: 没有合并和语法,但是您可以使用,如下所示。 或在评论中使用您的示例

  • 本文向大家介绍Mysql| 使用通配符进行模糊查询详解(like,%,_),包括了Mysql| 使用通配符进行模糊查询详解(like,%,_)的使用技巧和注意事项,需要的朋友参考一下 通配符的分类: %百分号通配符: 表示任何字符出现任意次数 (可以是0次). _下划线通配符:表示只能匹配单个字符,不能多也不能少,就是一个字符. like操作符: LIKE作用是指示mysql后面的搜索模式是利用通

  • 问题内容: 查询如何 被优化? 这里的主要问题是第一个通配符,它​​阻止DBMS使用索引。 编辑:此外,某字段值是纯字符串(不是一段文本),因此无法执行全文搜索。 问题答案: 两种方式: (1)使用内存中的表,它可以非常快速地运行。 (2)制定比更好的索引和搜索算法。如果不了解您的问题,就不可能对此提出任何建议。 正如您所指出的那样,%bar%模式可确保对每个查找进行表扫描,从而使数据库软件中任何

  • 问题内容: 我正在使用psql在Postgres中查询数据库。我使用以下查询来搜索一个名为 tag 的字段,该字段的数据类型为文本数组: 现在,我需要创建一个查询,以在 标签 字段中搜索以字母“ A”开头的任何单词。我尝试了以下方法: 这给了我一个语法错误。关于如何将LIKE与文本数组结合使用的任何建议? 问题答案: 使用函数将数组转换为行集: 本应算唯一条目表,只需更换你的主键的名称。 话虽这么

  • 问题内容: 我很难用Elasticsearch构建查询。 我想查询类似的东西: 所以我试图构造的是这样的: 但这似乎返回一个错误。 谁能给我一个指针,我应该如何看待用Elasticsearch进行这种OR查询? 我当前的数据已发送: 和我的查询: 返回此错误: 问题答案: 这是由于JSON格式错误所致。此查询的正确JSON格式如下-

  • 问题内容: 有没有办法同时使用LIKE和IN? 我想实现这样的目标。 所以基本上,我希望能够用一堆不同的字符串来匹配该列。是否有另一种方法可以对一个查询执行此操作,还是我必须遍历要查找的字符串数组? 问题答案: 您可以通过在一个查询中将各个LIKE与OR串在一起来完成此操作: 请注意,像LIKE和per-row函数之类的东西并不总是能够很好地扩展。如果表可能会变大,则 可能 需要考虑向表中添加另一