myysql的正则表达式

上周遇见一个需求,有这样一棵树:

点击上级,展现所有子集,点击集团,显示所有产线(例子)

这个时候有两种方式:

添加产线时,将集团、事业部、公司、车间的id存起来。

然后点击查询时,将不同的id带入。

这样做的缺点就是,查询会很麻烦,区分查询。

另一种是:

一个treePath字段,存放树路径id:

集团id,事业部id,公司id,车间id,产线id

例子:点击集团时,将集团id和treePath进行in比较。如果包含,就说明是这个集团的数据。

 CONCAT (',',tree_path,',' ) LIKE CONCAT( '%,',集团id,',%' )

 先将源数据加一个左右各一个逗号,保证不会出现这种情况!!!

treePath:1001,221,333

集团id:10

挖槽,直接GG

1001也符合!!

所以我们左右各加一个逗号变成:

treePath:,1001,221,333,

集团id:,10,

哈哈哈哈哈哈哈,这样就不会出现那种情况了,我真是天才啊!

用正则就是这样: 

CONCAT (',',tree_path,',') REGEXP ',(集团id),'

话不多说,直接上态度:

select *from `user` as u where u.`name` REGEXP 'ab?c';-- c出现0次或者1次select *from `user` as u where u.`name` REGEXP 's*c';-- s出现0次或者多次select *from `user` as u where u.`name` REGEXP 'ab+c';-- b出现1次以上的字符select *from `user` as u where u.`name` REGEXP 'a.c';-- 以a开始,c结束。.可以代表无数个,相当于模糊查询的%select *from `user` as u where u.`name` REGEXP 'b{2,}';-- b连续出现2次以上select *from `user` as u where u.`name` REGEXP 'b{2}';-- b连续出现2次select *from `user` as u where u.`name` REGEXP 'b{2,3}';-- b连续出现2-3次select *from `user` as u where u.`name` REGEXP 'b{2}|a{3}';-- b连续出现2次或者a连续出现3次select *from `user` as u where u.`name` REGEXP '[acs]';-- 包含这三个字母组成select *from `user` as u where u.`name` REGEXP '[a-b]';-- 包含a-c组成select *from `user` as u where u.`name` REGEXP '^a';-- 以a开头select *from `user` as u where u.`name` REGEXP 's$';-- 以c结尾

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/594943.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

人脸关键点检测dlib安装

dlib 库是一个用来人脸关键点检测的 python 库,但因为其是 C 编写(或需要 C编译?),使得我们在安装时遇到各种各样问题。笔者在不同电脑上安装遇到的问题都不同,但最后经过搜索,都解决了&#xf…

数据结构【查找篇】

数据结构【查找篇】 文章目录 数据结构【查找篇】前言为什么突然想学算法了?为什么选择码蹄集作为刷题软件? 目录一、顺序查找二、折半查找三、 二叉排序树的查找四、红黑树 结语 前言 为什么突然想学算法了? > 用较为“官方”的语言讲&am…

Git | tag相关命令

语法命令 git tag -h usage: git tag [-a | -s | -u <key-id>] [-f] [-m <msg> | -F <file>]<tagname> [<head>]or: git tag -d <tagname>...or: git tag -l [-n[<num>]] [--contains <commit>] [--no-contains <commit&g…

普中STM32-PZ6806L开发板(HAL库函数实现-读取内部温度)

简介 主芯片STM32F103ZET6&#xff0c;读取内部温度其他知识 内部温度所在ADC通道 温度计算公式 V25跟Avg_Slope值 参考文档 stm32f103ze.pdf 电压计算公式 Vout Vref * (D / 2^n) 其中Vref代表参考电压&#xff0c; n为ADC的位数&#xff0c; D为ADC输入的数字信号。 实现…

人工智能在银行运营中的运用

机器学习在金融领域的运用&#xff1a;银行如何以最优的方式抓住 AI 机会&#xff1f; 大型企业若想获得超越竞争对手的优势&#xff0c;那么采用 AI 作为其业务战略是他们的重要任务&#xff0c;而在这方面&#xff0c;大型银行走在了前面。银行开始将 AI 和机器学习应用于前…

201.【2023年华为OD机试真题(C卷)】最长子字符串的长度(一)(滑动窗口算法-JavaPythonC++JS实现)

🚀点击这里可直接跳转到本专栏,可查阅顶置最新的华为OD机试宝典~ 本专栏所有题目均包含优质解题思路,高质量解题代码(Java&Python&C++&JS分别实现),详细代码讲解,助你深入学习,深度掌握! 文章目录 一. 题目二.解题思路三.题解代码Python题解代码JAVA题解…

了解并使用django-rest-framework-jwt

一 JWT认证 在用户注册或登录后&#xff0c;我们想记录用户的登录状态&#xff0c;或者为用户创建身份认证的凭证。我们不再使用Session认证机制&#xff0c;而使用Json Web Token&#xff08;本质就是token&#xff09;认证机制。 Json web token (JWT), 是为了在网络应用环…

什么是跨域以及怎么处理跨域问题

文章目录 什么是跨域&#xff1f;跨域问题常见场景怎么处理跨域1、配置代理2、CORS&#xff08;跨域资源共享&#xff09;3、JSONP&#xff08;仅限 GET 请求&#xff09;4、使用 WebSocket 注意事项&#xff1a; 什么是跨域&#xff1f; 跨域&#xff08;Cross-Origin&#x…

专题一_双指针(一)

文章目录 283.移动零题目解析讲解算法原理扩展编写代码 1089.复习零题目解析讲解算法原理编写代码 202.快乐数题目解析讲解算法原理证明编写代码 11.盛最多水的容器题目解析讲解算法原理暴力解法优秀的解法时间复杂度分析 编写代码 283.移动零 题目链接 题目解析 题目还是比较…

ThinkPHP6.0任意文件上传 PHPSESSION 已亲自复现

ThinkPHP6.0任意文件上传 PHPSESSION 已亲自复现 漏洞名称漏洞描述影响版本 漏洞复现环境搭建安装thinkphp6漏洞信息配置 漏洞利用 修复建议 漏洞名称 漏洞描述 2020年1月10日&#xff0c;ThinkPHP团队发布一个补丁更新&#xff0c;修复了一处由不安全的SessionId导致的任意文…

【GlobalMapper精品教程】069:中文属性表乱码问题及解决方法

参考阅读:【ArcGIS Pro微课1000例】0012:ArcGIS Pro属性表中文乱码完美解决办法汇总 文章目录 一、Globalmapper默认字符集设置二、shp属性表乱码三、转出的kmz乱码一、Globalmapper默认字符集设置 中文字体乱码通常是由字符编码不匹配造成的。 打开Globalmapper软件,点击工…

【动态规划】【字符串】扰乱字符串

作者推荐 视频算法专题 涉及知识点 动态规划 字符串 LeetCode87扰乱字符串 使用下面描述的算法可以扰乱字符串 s 得到字符串 t &#xff1a; 如果字符串的长度为 1 &#xff0c;算法停止 如果字符串的长度 > 1 &#xff0c;执行下述步骤&#xff1a; 在一个随机下标处将…

[设计模式 Go实现] 行为型~备忘录模式

备忘录模式用于保存程序内部状态到外部&#xff0c;又不希望暴露内部状态的情形。 程序内部状态使用窄接口船体给外部进行存储&#xff0c;从而不暴露程序实现细节。 备忘录模式同时可以离线保存内部状态&#xff0c;如保存到数据库&#xff0c;文件等。 memento.go packag…

java struts2教务管理系统Myeclipse开发mysql数据库struts2结构java编程计算机网页项目

一、源码特点 java struts2 教务管理系统 是一套完善的web设计系统&#xff0c;对理解JSP java编程开发语言有帮助 struts2 框架开发&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环境 为TOMCAT7.0,Myeclipse8.5开发&#xff0c;数据库…

作用域和作用域链(js的问题)

• 全局作用域&#xff0c;函数作用域 • 作用域链 • 作用域scope: 一个变量的可用范围 • 作用域链scope chain&#xff1a;以当前作用域的scope属性为起点&#xff0c;依次引用每个AO,直到window结束&#xff0c;行成多级引用关系 js作用域ES5 …

常用日志查看方法 log | journalctl | messages

一、【说在前面】 写之前吐槽一下&#xff0c;我在从业中发现&#xff0c;很多人喜欢鼓吹XXX比较吃经验&#xff0c;我早期也比较信奉这一点&#xff0c;感觉各行各业应该都有自己的玄学解决问题的方式。 但是笔者也发现很多做了很多年的员工&#xff0c;遇到了问题就是在常用…

向爬虫而生---Redis 基石篇5 <拓展Zset>

前言: 基础操作篇最后一环节,就是这个了! reids里面的有序集合... 向爬虫而生---Redis 基石篇4 &#xff1c;拓展Set&#xff1e;-CSDN博客 向爬虫而生---Redis 基石篇3 &#xff1c;拓展List&#xff1e;-CSDN博客 向爬虫而生---Redis 基石篇2 &#xff1c;拓展Hash&#x…

【ikbp】数据可视化DataV

天天查询一些数据&#xff0c;希望来一个托拉拽的展示&#xff0c;部署体验一下可视化大屏 快速搭建快速查询实时更新简单易用 启动服务 数据可视化 静态查询 配置数据 过滤数据 分享

系列七、Ribbon

一、Ribbon 1.1、概述 Ribbon是基于Netflix Ribbon实现的一套客户端负载均衡的工具&#xff0c;是Netflix发布的一款开源项目&#xff0c;其主要功能是提供客户端的软件负载均衡算法和服务调用&#xff0c;Ribbon客户端组件提供一系列完善的配置项&#xff0c;例如&#xff1a…

《低功耗方法学》翻译——卷首语

就目前半导体的发展现状来说&#xff0c;我们国家还处在奋力追赶阶段。在我国半导体行业历经多轮技术制裁的今天&#xff0c;我们不得不承认的是&#xff0c;半导体技术最先进的就是美国。我国早在上世纪六七十年代就有涉足半导体技术&#xff0c;大量华裔留美的爱国人士回国为…