校验数据是否重叠(各种操作符>,<,>=,<=,or,and)
最近接到一个需求,其中部分功能涉及到数据的重叠校验,并且录入的数据需要包含各种操作符。如果只通过java代码来查询并进行循环判断的话,判断情况会很复杂,幸好有同事的帮忙提供了一个用sql查询重叠部分的方法,现在分享一下供大家参考
1.首先先具体介绍一下需求,主要是根据开始时间和结束时间来查询 相同时间段内是否有期限重叠的数据,如果有重叠则不让添加。也就是时间段和期限都重叠的数据不允许添加。
SELECT*
FROM(SELECTLV FROM( SELECT LEVEL LV FROM DUAL CONNECT BY 100 >= LEVEL ) C1 WHEREC1.LV > 12 AND c1.lv <> 36 ) CJOIN (SELECT12 AS A,1 AS AA,--1 > 2>= 3< 4 <= 5 <>24 AS B,3 AS BB,--1 > 2>= 3< 4 <= 5 <>1 AS C,-- 1 and 2 orDATE '2021-01-01' AS STARTDATE,DATE '2022-01-01' AS ENDDATE FROMDUAL UNIONSELECT12 AS A,1 AS AA,--1 > 2>= 3< 4 <= 5 <>36 AS B,3 AS BB,--1 > 2>= 3< 4 <= 5 <>1 AS C,DATE '2022-01-01' AS STARTDATE,DATE '2023-01-01' AS ENDDATE FROMDUAL ) D ON (D.C = 1 AND ((( D.AA = 1 AND LV > D.A ) OR ( D.AA = 2 AND LV >= D.A ) OR ( D.AA = 3 AND LV < D.A ) OR ( D.AA = 4 AND LV <= D.A ) OR ( D.AA = 5 AND LV <> D.A ) ) AND (( D.BB = 1 AND LV > D.B ) OR ( D.BB = 2 AND LV >= D.B ) OR ( D.BB = 3 AND LV < D.B ) OR ( D.BB = 4 AND LV <= D.B ) OR ( D.BB = 5 AND LV <> D.B ) ) ) ) OR ((D.C = 2 AND ((( D.AA = 1 AND LV > D.A ) OR ( D.AA = 2 AND LV >= D.A ) OR ( D.AA = 3 AND LV < D.A ) OR ( D.AA = 4 AND LV <= D.A ) OR ( D.AA = 5 AND LV <> D.A ) ) OR (( D.BB = 1 AND LV > D.B ) OR ( D.BB = 2 AND LV >= D.B ) OR ( D.BB = 3 AND LV < D.B ) OR ( D.BB = 4 AND LV <= D.B ) OR ( D.BB = 5 AND LV <> D.B ) ) ) ) )
其中 SELECT LEVEL LV FROM DUAL CONNECT BY 100 >= LEVEL 是用来限定期限的数据,根据自己的具体情况来确认数据范围。我这里用100就足够了,其中的条件就是我们录入的数据。join的数据是从数据库中查询出来的数据,如果查询结果有数据,则证明有重复,否则没有重复。
相关文章:
校验数据是否重叠(各种操作符>,<,>=,<=,or,and)
最近接到一个需求,其中部分功能涉及到数据的重叠校验,并且录入的数据需要包含各种操作符。如果只通过java代码来查询并进行循环判断的话,判断情况会很复杂,幸好有同事的帮忙提供了一个用sql查询重叠部分的方法,现在分享…...
大一C语言作业 12.8
1.C 对一维数组初始化时,如果全部元素都赋了初值,可以省略数组长度。 这里没有指定数组长度,编译器会根据初始化列表的元素个数来确定数组长度。 2.C 在C语言中,字符数组是不能用赋值运算符直接赋值的。 3.C 在二维数组a中&#x…...
ELasticsearch:什么是语义搜索?
语义搜索定义 语义搜索是一种解释单词和短语含义的搜索引擎技术。 语义搜索的结果将返回与查询含义匹配的内容,而不是与查询中的单词字面匹配的内容。 语义搜索是一组搜索引擎功能,其中包括根据搜索者的意图及其搜索上下文理解单词。 此类搜索旨在通过…...
ooTD I 女儿是自己的,尽情打扮尽情可爱
分享女宝的时尚穿搭 奶乎乎的黄色也太好看了 超足充绒量+优质面料 柔软蓬松上身体验感超赞 怎么穿都好看系列 轻轻松松打造时尚造型!!...
第62天:django学习(十一)
cookie和session 发展史 一开始,只有一个页面,没有登录功能,大家看到东西都一样。 时代发展,出现了需要登录注册的网站,要有一门技术存储我们的登录信息,于是cookie诞生了。 cookie: - 存储形式:k:v键值对…...
Rust测试字符串的移动,Move
代码创建了一个结构体,结构体有test1 字符串,还有指向字符串的指针。一共创建了两个。 然后我们使用swap 函数 交换两个结构体内存的内容。 最后如上图。相同的地址,变成了另外结构体的内容。注意看指针部分,还是指向原来的地址…...
vue+electron问题汇总
1. Vue_Bug Failed to fetch extension, trying 4 more times 描述:项目启动时报错 解决:注释图片中内容 2. Module not found: Error: Can’t resolve ‘fs’ in 描述:项目启动报错 解决:vue.config.js中添加图中数据 3.导入…...
Linux中的网络时间服务器
本章主要介绍网络时间的服务器 使用chrony配置时间服务器配置chrony客户端服务器同步时间 1.1 时间同步的重要性 一些服务对时间要求非常严格,例如如图所示的由三台服务器搭建的ceph集群 这三台服务器的时间必须保持一致,如果不一致,就会显…...
fastadmin打印页面
如下图选中订单号进行打印 html中增加代码 <div id"toolbar" class"toolbar"><a href"javascript:;" class"btn btn-primary btn-refresh" title"{:__(Refresh)}" ><i class"fa fa-refresh">&l…...
Java 将word转为PDF的三种方式和处理在服务器上下载后乱码的格式
我这边是因为业务需要将之前导出的word文档转换为PDF文件,然后页面预览下载这样的情况。之前导出word文档又不是我做的,所以为了不影响业务,只是将最后在输出流时转换成了PDF,当时本地调用没什么问题,一切正常…...
C\C++ 获取最值
C C 语言的不同类型的最值可以在 limits.h 头文件里找到定义 #include <limits.h>int main() {printf("%d", INT_MAX); // 整数最大值printf("%d", INT_MIN); // 整数最小值 } C C 有模板,可以通过替换下面的 int 和 doubleÿ…...
机器学习之无监督学习:九大聚类算法
今天,和大家分享一下机器学习之无监督学习中的常见的聚类方法。 今天,和大家分享一下机器学习之无监督学习中的常见的聚类方法。 在无监督学习中,我们的数据并不带有任何标签,因此在无监督学习中要做的就是将这一系列无标签的数…...
Linux高级管理-搭建网站服务
在Ihternet 网络环境中,Web 服务无疑是最为流行的应用系统。有了Web站点,企业可以充分 展示自己的产品,宣传企业形象。Web站点还为企业提供了与客户交流、电子商务交易平台等丰富 的网络应用。部署与维护Web 服务是运维工程师必须掌握的一个技…...
Windows 系统,TortoiseSVN 无法修改 Log 信息解决方法
使用SVN提交版本信息时,注释内容写的不全。通过右键TortoiseSVN的Show log看到提交的的注释,右键看到Edit log message的选项,然而提交后却给出错误提示: Repository has not been enabled to accept revision propchanges; ask …...
编译 Android gradle-4.6-all.zip 报错问题记录
编译 Android gradle-4.6-all.zip 报错问题记录 方法一:替换资源:方法二:修改源方法三:修改版本 编译时候无法下载 gradle-4.6-all Downloading https://services.gradle.org/distributions/gradle-4.6-all.zip 方法一…...
Linux系统调试课:Valgrind 内存调试
文章目录 一、为什么要学会Valgrind二、什么是内存泄露三、Valgrind的移植四、Valgrind相关参数沉淀、分享、成长,让自己和他人都能有所收获!😄 📢Valgrind 是一个开源的内存调试和性能分析工具,用于帮助开发者找出程序中的内存错误,如内存泄漏、使用未初始化的内存、非…...
python主流开发工具排名,python开发工具有哪些
本篇文章给大家谈谈python的开发工具软件有哪些,以及python主流开发工具排名,希望对各位有所帮助,不要忘了收藏本站喔。 python中用到哪些软件 一、Python代码编辑器1、sublime Textsublime Text是一款非常流行的代码编辑器,支持P…...
Spring Boot Async:从入门到精通,原理详解与最佳实践
Spring Boot 的异步功能(Async)允许我们将某些任务异步执行,而不会阻塞主线程。这对于处理耗时的操作非常有用,如发送电子邮件、生成报表、调用外部 API 等。通过异步处理,我们可以释放主线程,让它继续处理…...
oracle 19c创建db_link名称带.com域名问题处理
文章目录 一、修改PDB的global_name二、重启数据库实例三、修改domain后重试 一、修改PDB的global_name SYSorcl1>sho pdbsCON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ----------2 PDB$SEED …...
银行卡二要素API的应用案例:从在线购物到金融投资
引言 随着互联网技术的不断发展,人们的金融需求也在不断增加。随之而来的是各种新型金融服务的涌现,让用户的金融体验更加便利快捷。其中,银行卡二要素API的应用,则为用户的金融体验和安全性提供了极大的保障。 银行卡二要素API…...
C++程序发生崩溃闪退后为什么会自动重启?是因为程序中启用了重启管理器,系统感知到程序异常退出后自动重启程序
最近在使用sdkdemo程序测试我们的SDK功能时,发现当我们关闭程序后(程序确实关闭了),程序居然又自动启动起来了!后来运行Debug版本的sdkdemo,在关闭程序时会弹出报错提示框:估计是程序在退出时产…...
如何高效导出并打包SVN变更的Java文件
很多Java开发者在使用TortoiseSVN管理项目时,往往会面临一个难题:如何在不同版本之间快速导出修改过的Java文件,并将其打包成可部署的class文件?仅仅依靠TortoiseSVN导出差异文件,然后手动在IDE(如IntelliJ IDEA)选择文…...
writeup
3-hafuhafu - Writeup by AI 题目信息 项目内容平台BugKu类型Crypto (RSA)考点RSA 加密、大数分解、私钥计算 题目描述 题目给出了一个 RSA 公钥和一段 Base64 编码的密文,要求解密得到 flag。 公钥信息: pk (25572000680139535995611501720832880…...
如何用一套键鼠控制多台电脑?Lan Mouse跨平台键鼠共享终极指南
如何用一套键鼠控制多台电脑?Lan Mouse跨平台键鼠共享终极指南 【免费下载链接】lan-mouse mouse & keyboard sharing via LAN 项目地址: https://gitcode.com/gh_mirrors/la/lan-mouse 你是否经常需要在多台电脑之间切换工作?Windows台式机、…...
新手入门:用快马生成第一个交易平台风格的前端页面
今天想和大家分享一个特别适合前端新手的练手项目——用InsCode(快马)平台快速搭建一个简易的交易平台前端页面。作为一个刚接触金融科技开发的小白,我发现这种模拟真实业务场景的项目特别能激发学习兴趣。 项目目标拆解 这个模拟交易账户页面需要实现几个核心功能模…...
Android Framework开发工程师深度解析与技术指南
引言 在移动智能设备普及的今天,Android系统作为全球主流的操作系统,其Framework层开发是支撑整个生态的核心。Android Framework开发工程师负责系统架构设计、深度定制与兼容性优化,确保设备高效运行。本文将基于职位描述的核心要素,系统解析Android Framework开发的技术…...
Node.js版本管理神器NVM:从安装到实战的保姆级教程(Mac版)
Node.js版本管理神器NVM:从安装到实战的保姆级教程(Mac版) 作为一名长期在Mac环境下工作的前端开发者,我深刻体会到Node.js版本管理的重要性。不同项目可能依赖不同版本的Node.js,而手动切换版本不仅麻烦还容易出错。N…...
继电器触点粘接?手把手教你用NTC热敏电阻搞定大功率负载保护
大功率负载下继电器触点粘接的工程解决方案:NTC热敏电阻实战指南 当你在深夜调试一块电源板时,突然闻到焦糊味——继电器又粘接了。这不是个例,据统计,工业控制系统中约23%的继电器故障源于触点粘接,而大电流场景下这一…...
数据库优化:高效查询GUID的技巧
在日常的数据库操作中,如何高效地查询数据是一个永恒的话题。特别是当我们处理大型数据集和需要在文本字段中查找特定模式(如GUID)时,查询效率显得尤为关键。今天,我将分享一种优化查询GUID的方法,帮助你从长达数小时的查询时间中解脱出来。 背景 假设我们有一个数据库…...
越擎科技发布机器人离线编程软件应用白皮书,阐述机器人装配工艺规划、离线编程与虚拟调试方案的原理及优势
摘要:越擎科技针对机器人复杂产品装配的应用场景,打造全国产的机器人离线编程软件iRobotCAM,可以快速的提取装配约束关系并进行装配工艺规划,并编写机器人程序及快速仿真,提升装配过程的精度及编程效率。 根据艾瑞咨询…...
