sql模糊查询多个条件写法

2023-05-16

单个模糊查询一般使用like,如果多个可以使用 OR 进行连接,不过写样子写法很冗余,而且如果多个条件是从表中 select出来的时候这种方法就不可行了。

针对这种问题,一般都提供了正则表达式的写法,这样我上面说的那种情况只需要进行一下列转行就可以了。

注意 REGEXP 后是 字符串类型

MySQL

-- 示例
SELECT prod_name FROM  products WHERE prod_name REGEXP ‘col1|col2’

-- 列转行
select group_concat(testcol) from tableA;

-- 完整版
SELECT prod_name FROM  products WHERE prod_name REGEXP (select 
replace(group_concat(testcol),'\'','|')
 from tableA);

类似的,Oracle也是类似的
-- Oracle
select  * from tablex where REGEXP_LIKE(字段名, '(匹配串1|匹配串2|...)') ;

select  * from tablex where REGEXP_LIKE(字段名, '^(匹配串1|匹配串2|...)') ";

select  * from tablex where REGEXP_LIKE(字段名, '(匹配串1|匹配串2|...)$') ";

 
-- SqlServer
select  * from tablex where f1 like '%[匹配串1|匹配串2|匹配串3]%';
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

sql模糊查询多个条件写法 的相关文章

  • 安全转义表名/列名

    我在 php 中使用 PDO 因此无法使用准备好的语句转义表名或列名 以下是我自己实现它的万无一失的方法 tn str replace REQUEST tn column str replace REQUEST column sql SEL
  • 当我耗尽 bigint 生成的密钥时会发生什么?怎么处理呢?

    我自己无法想象一个好的答案 所以我想在这里问 在我心里 我总是想知道 如果AUTO INCREMENT PRIMARY ID我的专栏MySQL表用完了吗 举例来说 我有一个有两列的表 一个ID auto increment primary
  • 如果不存在则插入数据(来自 2 个表),否则更新

    再会 我有3张桌子 tbl仓库产品 ProductID ProductName ProductCode Quantity tbl分公司产品 ProductID ProductCode ProductCode Quantity Locatio
  • 如何将存储过程中的值返回到 EF

    我试图通过 EF 调用存储过程并从存储过程中检索返回值 我用过this https stackoverflow com questions 6861737 executesqlcommand with output parameter an
  • 查询交叉表视图

    我在 PostgreSQL 中有一个表 如下所示 Item1 Item2 Item3 Item4 Value1 Value2 Value3 Value4 我想要一个查询 该查询将显示如下表 ItemHead ValueHead Item1
  • Linq 到自定义 SQL

    好的 我有一个带有巨大表的数据库 超过 100 万条记录和 50 多个列 我知道它不是最佳的 但它是我必须处理的 所以我需要运行限制返回数据量的查询 现在我的问题是这样的 我有一些运行并返回数据的自定义查询 用户可以通过选择将生成谓词模板并
  • 如何在可能为空值的字段上创建唯一索引(Oracle 11g)?

    这是包含 3 列的示例表 ID UNIQUE VALUE UNIQUE GROUP ID 我希望可以允许以下记录 1 NULL NULL 2 NULL NULL or 3 NULL 7 4 123 7 or 注意 此条件不允许unique
  • count 和 groupby 在一个查询中一起使用

    以下查询正在获取页面上的一些产品信息 这很好 但我也想以文本形式显示它出现的产品编号 但是 我使用了groupby但我也想用count on pro id SELECT FROM cart WHERE session id SESSION
  • 确定一个范围是否完全被一组范​​围覆盖

    如何检查范围是否为完全覆盖由一组范围 在以下示例中 WITH ranges id a b AS SELECT 1 0 40 UNION SELECT 2 40 60 UNION SELECT 3 80 100 UNION SELECT 4
  • 如何在 postgreSQL 中从时间戳中减去/添加分钟

    我有以下场景 我有员工登记他们的上班 下班手续 但他们有10分钟的容忍度 我通过这种观点得到的最新条目 CREATE OR REPLACE VIEW employees late entries id created datetime en
  • Django 模型 - 外键作为主键

    我有以下2张表 在 models py 中 class Foo models Model uuid models CharField UUID primary key True default uuid4 and class FooExt
  • 如何对主索引重新编号

    我有一个简单的 MySQL 表 主索引 id 不是一一编号的 1 31 35 100 等 我希望它们的编号如 1 2 3 4 请告诉我该怎么做 我还想指出的是 我知道该操作可能产生的后果 但我只是想整理一下表格 我同意其他方法也可以 但我只
  • 如何在 SQL 中存储目标(例如 RPG Quest)

    今天有人问我他们应该如何将任务目标存储在 SQL 数据库中 在这种情况下 请考虑角色扮演游戏 目标可能包括以下一些内容 发现 地点 杀死 n MOB 类型 获取 对象 的 n 个 实现 技能组 中的 技能 你在角色扮演游戏中获得的所有其他东
  • AttributeError:尝试在 python 中运行 sqlalchemy 来管理我的 SQL 数据库时,“Engine”对象没有属性“execute”

    我有以下代码行不断给我一个错误 即引擎对象没有对象执行 我认为我一切都对 但不知道接下来会发生什么 似乎其他人也遇到了这个问题 重新启动他们的笔记本电脑就可以了 我正在使用 Pycharm 并已重新启动但没有任何解决方案 任何帮助是极大的赞
  • 使用全文搜索查找精确匹配

    使用 Sql Server 2008 如何使用全文搜索来实际找到精确的字符串匹配 我对此感到非常困难 而且我在网上找不到令人满意的解决方案 例如 如果我正在搜索字符串 Bojan Skrchevski 我希望第一个结果正是如此 到目前为止
  • 多个连接到同一个表

    我有这组表格和数据 CREATE TABLE item id INT PRIMARY KEY name VARCHAR CREATE TABLE property id INT PRIMARY KEY name VARCHAR CREATE
  • 显式与隐式 SQL 连接

    显式内连接与隐式内连接之间有效率差异吗 例如 SELECT FROM table a INNER JOIN table b ON a id b id vs SELECT a b FROM table a table b WHERE a id
  • SQL如何将两个日期之间一小时内的事件相加并显示在一行中

    我正在使用 C 和 SQL Server 2005 开发一份报告 我只需显示我们每小时获得的点击次数 桌子很大 输出应如下所示 Row Date Time Hit Count 1 07 05 2012 8 00 3 2 07 05 2012
  • 返回年份数组作为年份范围

    我正在尝试查询一个包含以下内容的表character varying 年份列 并将这些年份作为逗号分隔的年份范围字符串返回 年份范围将由数组中存在的连续年份确定 不连续的年份 年份范围应以逗号分隔 数据类型的原因是character var
  • 字符串文字上的 SQL Server T-SQL N 前缀[重复]

    这个问题在这里已经有答案了 这可能是一个菜鸟问题 但我发现了一些 T SQL 查询示例来验证数据库大小SELECT and WHERE clause here http technet microsoft com en us library

随机推荐

  • js基本输入输出,变量,数据类型,案例。

    文章目录 1 计算机编程基础 xff1a 2 JS3 变量4 数据类型a 5种简单数据类型 xff1a 案例 b typeof获取变量类型 xff1a c 转化为数值型的放法 xff1a d 转化为字符型的方法 案例 xff1a 5 扩展阅
  • Android 7.0Settings加载主界面流程

    新人一枚 xff0c 没有整机环境 xff0c 有什么写的不对欢迎批评指正 xff0c 万分感谢 xff01 Settings主界面加载时序图 xff08 这里很多判断逻辑我省略掉了 更多的是想把加载主界面流程跑通 xff09 这张流程图将
  • C# 获取图片,Pdf中的文字

    识别图片中的文字 首先把下载好的tessdata放在自己项目的bin Debug tessdata文件夹中 附一个tessdata的下载地址 xff1a https github com tesseract ocr tessdata 命名空
  • 1449-The user specified as a definer (‘mysql.infoschema‘@‘localhost‘) does not exit

    navicat连接MySQL数据库时1449 The user specified as a definer 把本机mysql数据库5 6版本的数据备份后 xff0c 卸载5 6 版本 xff0c 安装了最新的8 0 27版本 xff0c
  • 最新版Docker Desktop安装在windows10上会出现的WSL2错误

    有科技的可以去这个帖子看 xff0c 解决WSL是最新版也无法运行docker的情况 查了很多帖子都是牛头不对马嘴 xff0c 不说废话直接上解决方案 1 Docker运行出现的问题 Docker Core HttpBadResponseE
  • C#各种官网文档链接

    目录 1 WinFrom NET Framework 2 TeeChart 3 C 教程 xff1a C 入门经典教程 4 C语言中文网 1 WinFrom NET Framework 官方文档YYDS xff0c 以前忽略了 xff0c
  • PMS(PackageManagerService)原理简单介绍,启动过程源码简单解析

    文章目录 前言1 PMS2 源码和关键方法SystemServerPackageManagerServiceParallelPackageParserPackageParser 3 细节总结4 时序图startuml代码参考材料 前言 先想
  • Android Studio 提示 Unable to load class ‘org.slf4j.LoggerFactory‘.

    将项目切换成Project模式 路径gradle wrapper gradle wrapper properties 将distributionUrl改为https services gradle org distributions gra
  • OpenCV 在 Android Studio 的使用教程

    本文内容是本人经过多次踩坑 xff0c 并参考网上众多OpenCV On Android的配置教程总结而来 xff0c 尽希望能帮助学习移动图像处理的朋友们少走弯路 xff0c 如有转载 xff0c 请标明出处 开发环境 Android S
  • 去哪儿网2019秋招笔试题

    1 题目描述 xff1a 给出一个由 100 100 之间整数组成的数组 xff0c 求其相加和最大的连续子数组 输入 一个连续整数组成的数组 输出 子数组相加的最大值 样例输入 1 2 3 2 4 6 样例输出 7 2 题目描述 xff1
  • IEEE论文参考文献引用格式

    IEEE论文参考文献引用格式 格式要求字体段落格式 期刊格式书写顺序书写要求 xff1a 作者格式的书写文章名的书写格式期刊名字简写卷号 xff0c 期号 会议格式专利书籍链接 URL 了解一个期刊书写格式最快方法 xff0c 请先进入该期
  • python使用numpy加载和保存txt文件

    python使用numpy加载和保存txt文件 问题 xff1a 1 如何将array保存到txt文件中 xff1f 2 如何将存到txt文件中的数据读出为ndarray类型 xff1f 解决 xff1a 直接用numpy中的方法 1 nu
  • HTML标签,CSS选择器,属性,盒子模型,浮动

    文章目录 HTML标签 xff0c 表格 xff0c 表单HTML 标签 表格 table表单 form1 表单域 xff0c 表单元素 xff0c 提示信息 CSS选择器 xff0c 属性 xff0c 显示模式 xff0c 背景图 xff
  • SVM连续值预测

    SVM连续值预测 分类问题回归问题一 导入库和数据二 数据预处理三 模型训练和评估 使用svm既可以实现分类问题 xff0c 即输出是标签的种类 xff0c 例如手写数字识别 Iris鸢尾花分类 xff0c 同时也能实现连续值的预测 xff
  • 最新解决git拉取远程仓库失败问题:Failed to connect to github.com port 443: Timed out.

    最新解决git拉取远程仓库失败问题 xff1a Failed to connect to github com port 443 Timed out 本地git拉取 pull 或抓取 fetch 远程github仓库出现 Failed to
  • 回溯算法及剪枝

    回溯算法及剪枝 理论基础模板框架实例思路 剪枝 回溯算法的本质是暴力穷举 xff0c 即使用递归控制for循环嵌套的数量 xff0c 本身不是一个高效的算法 尽管可以使用剪枝来提高效率 xff0c 但是还是改不了穷举的本质 回溯法 xff0
  • MySQL索引的底层实现原理

    索引的底层实现原理 数据库索引是存储在磁盘上的 xff0c 当数据量大时 xff0c 就不能把整个索引全部加载到内存了 xff0c 只能逐一加载每一个磁盘块 xff08 对应索引树的节点 xff09 xff0c 索引树越低 xff0c 越
  • MySQL事务

    事务概念 一个事务是由一条或者多条对数据库操作的SQL语句所组成的一个不可分割的单元 xff0c 只有当事务中的所有操作都正常执行完啦 xff0c 整个事务才会被提交给数据库 xff1b 如果有部分事务处理失败 xff0c 那么事务就要回退
  • MySQL行锁、表锁&间隙锁

    事务隔离级别的实现原理 xff1a 锁 表级锁 amp 行级锁 表级锁 xff1a 对整张表加锁 开销小 xff0c 加锁快 xff0c 不会出现死锁 xff1b 锁粒度大 xff0c 发生锁冲突的概率高 xff0c 并发度低 行级锁 xf
  • sql模糊查询多个条件写法

    单个模糊查询一般使用like xff0c 如果多个可以使用 OR 进行连接 xff0c 不过写样子写法很冗余 xff0c 而且如果多个条件是从表中 select出来的时候这种方法就不可行了 针对这种问题 xff0c 一般都提供了正则表达式的