Oracle|DM 常用|不常用 SQL大口袋

news2024/9/22 17:36:03

目录

一、前言

二、SQL写法

1、sql获取某一条数据中的前一条和后一条

2、实现like多个值的查询(Oracle和dm支持,MySQL未试过)

3、start with connect by prior 使用方法

4、用hextoraw解决select、update、delete语句执行慢

5、ORA-00979不是GROUP BY表达式

6、merge语句

三、与MySQL写法区别

1、Oracle与MySQL的SQL区别系列

2、MySQL系列:oracle和mysql批量插入的区别


一、前言

        平时写SQL的时候需要写的SQL千奇百怪,从各个帖子学习之后,记录下曾经用到的一些用法,方便以后在用到查找(找的时候真费力呀)。


二、SQL写法

1、sql获取某一条数据中的前一条和后一条

        在SQL查询中使用LEAD和LAG函数,这两个窗口函数用于获取行的前后值,通过ORDERBY对ORDER_COL进行排序。提供了一个示例,展示了如何在特定表(TABLE_NAME)中应用这些函数来过滤数据。

SELECT *
FROM (
    SELECT ID, NAME, LEAD(ID) OVER(ORDER BY ORDER_COL) NEXT_ID, 
    LAG(ID) OVER(ORDER BY ORDER_COL) PREV_ID
    FROM TABLE_NAME
)
WHERE ID = ''

其中LEAD和LAG函数的参数可以是其他值.

说明:

1)、关于LEAD和LAG函数可以参考:sql中的窗口函数:lead,lag

2)、该写法参考网上的一种写法,可以使用

2、实现like多个值的查询(Oracle和dm支持,MySQL未试过)

1)regexp_like (字段名,'(条件1|条件2|条件3|条件4)')

regexp_like (字段名, #{参数})

<if test="userAccount != null and userAccount != ''">
    and regexp_like(OTHER_SPECIALITY_CODE,${userAccount})            
</if>
或者
<if test="otherSpecialityCodeList != null and otherSpecialityCodeList.size() > 0">
     or
     <foreach collection="otherSpecialityCodeList" index="index" item="item"
                         open="(" separator="or" close=")">
            regexp_like(OTHER_SPECIALITY_CODE,'${item}')
     </foreach>
</if>

2)同一字段 like 多值 可区分 单向模糊 和 双向模糊(Oracle和dm未试过,MySQL支持)

双向模糊查询:

SELECT * from `aaaaaaa` where `name` like '%张三%' or `name` like '%李四%' or `name` like '%王五%'
或:
SELECT * from `aaaaaaa` where `name` REGEXP '张三|李四|王五'

单项模糊查询:

SELECT * from `aaaaaaa` where `name` like '%张三' or `name` like '%李四' or `name` like '%王五'
或:
SELECT * from `aaaaaaa` where `name` REGEXP '^张三|^李四|^王五'

3、start with connect by prior 使用方法

参考:Oracle系列:start with connect by prior 使用方法

4、用hextoraw解决select、update、delete语句执行慢

参考:Oracle系列:用hextoraw解决select、update、delete语句执行慢

5、ORA-00979不是GROUP BY表达式

参考:Oracle系列:ORA-00979不是GROUP BY表达式

6、merge语句

参考:Oracle系列:oracle批量merge into来实现批量新增并在新增的同时更新满足条件的数据 

参考:Oracle系列:MERGE语句

7、DECODE函数:实现按着指定字符串顺序进行排序

DECODE函数是Oracle数据库中的条件表达式函数,用于执行条件判断并返回对应的结果。它的基本语法如下:

DECODE(expr, search1, result1, search2, result2, ..., default)

expr:要比较的表达式或列。
search1, search2, ...:要比较的值。
result1, result2, ...:如果expr等于相应的search值,则返回相应的result值。
default:如果没有找到匹配项,则返回default值。

详细学习参考博客:Oracle中decode函数详解

排序:查询结果按着sortedList 定义的集合顺序进行排序,如果UNIT_CODE相同,按着创建时间排序。

List<String> sortedList = new ArrayList<>();
sortedList.add("A");
sortedList.add("C");
sortedList.add("D");
sortedList.add("W");
sortedList.add("F");
order by DECODE(UNIT_CODE,
<foreach collection="sortedList" index="index" item="item" separator=",">
	#{item},#{index}
</foreach>
,9999),CREATE_TIME desc


三、与MySQL写法区别

1、Oracle与MySQL的SQL区别系列

参考:Oracle与MySQL的SQL区别系列

2、MySQL系列:oracle和mysql批量插入的区别

参考:MySQL系列:oracle和mysql批量插入的区别


未完待续。。。

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

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

相关文章

叉车数字化安全管理平台,安全管控升级,打造智慧监管新模式

近年来&#xff0c;国家和各地政府相继出台了多项政策法规&#xff0c;从政策层面推行叉车智慧监管&#xff0c;加大叉车安全监管力度。同时鼓励各地结合实际&#xff0c;积极探索智慧叉车建设&#xff0c;实现作业人员资格认证、车辆状态认证、安全操作提醒、行驶轨迹监控等&a…

场外个股期权的投资技巧:把握机遇与风险平衡

【来源&#xff1a;期权圈&#xff0c;场外个股每日询价】 在金融投资的领域中&#xff0c;场外个股期权作为一种新兴且具有吸引力的投资工具&#xff0c;为投资者提供了独特的机会和挑战。掌握有效的投资技巧&#xff0c;对于在这个领域中取得成功至关重要。 首先&#xff0c…

C++ | Leetcode C++题解之第332题重新安排行程

题目&#xff1a; 题解&#xff1a; class Solution { public:unordered_map<string, priority_queue<string, vector<string>, std::greater<string>>> vec;vector<string> stk;void dfs(const string& curr) {while (vec.count(curr) &am…

How we design Kola

How we design Kola - ApiHugKola background, Kola a consumer driver tester frameworkhttps://apihug.com/zhCN-docs/kola/002_design_of_kola Kola background, Kola a consumer driver tester framework ​BDD 行为驱动开发(BDD)是一种软件团队工作方式,可以缩小业务人…

基于STM32F429移植UCOSIII

μC/OS-III&#xff08;Micro C OS Three&#xff09;是一个可升级的、可固化的、基于优先级的实时内核&#xff0c;它是Micrium公司出品的RTOS&#xff08;实时操作系统&#xff09;类实时操作系统的一个版本。以下是对μC/OS-III的详细描述&#xff1a; 1. 基本特性 多任务管…

智能制造与工业互联网有何关联?工业互联网如何推进智能制造?

随着信息技术的飞速发展&#xff0c;智能制造和工业互联网已经成为当今产业变革的核心。智能制造&#xff0c;以其深度融合的设计、生产、管理、营销和售后服务等环节&#xff0c;代表了先进制造模式的典范。而工业互联网则作为智能制造的神经中枢&#xff0c;通过连接机器、人…

【初阶数据结构题目】17.用栈实现队列

用栈实现队列 点击链接答题 思路&#xff1a; 定义两个栈&#xff1a;pushST&#xff08;入数据&#xff09;和popST&#xff08;出数据&#xff09; 假设我们要在队列里放123&#xff0c;出队列123 我们先在pushST里面放进去1 2 3 然后把pushST里面的数据拿到popST里面&#…

会务要闻|向绿提质:上市企业ESG评级提升

在全球市场对环境、社会和治理&#xff08;ESG&#xff09;指标的关注与日俱增的大背景下&#xff0c;中国正积极拥抱ESG理念&#xff0c;将其作为推动经济与社会全面绿色转型的催化剂&#xff0c;更被企业视为长期主义投资策略的基石。面对日益严格的国际ESG尽职调查要求&…

信息论在机器学习中的实际应用

目录 一、说明 二、什么是信息论&#xff1f; 2.1 信息论中的关键概念 2.2 熵与信息 2.3 相互信息 2.4 Kullback-Leibler 背离 三、信息论在机器学习中的应用 3.1 功能选择&#xff1a; 3.2 计算边际概率分布 3.3 决策树&#xff1a;Information 增益 3.4 评估具有 KL 背…

FastAPI+Vue3工程项目管理系统项目实战私教课 上课笔记20240808 课程和学习计划制定

学习目标 将Word和Excel做的东西放到数据库里面去工程类公司&#xff0c;甲方&#xff0c;劳务存到数据库存储的信息主要是人员的信息 基本信息&#xff1a; 人员信息&#xff0c;资料库&#xff0c;甲方的人出现在哪些项目上&#xff0c;考勤材料信息&#xff0c;进货记录&…

yolov5更换主干网络shufflent

目录 1.网络结构解析 1.1创建yolov5s_shufflent_v2_X0_5.yaml文件 2.对common.py末尾进行添加 3.修改yolo.py 1.网络结构解析 1.可以先看看shufflenet_v2的网络结构 import torch from torch import nn from torchvision import models from torchinfo import summaryclas…

利用vscode-icons-js在Vue3项目中实现文件图标展示

背景&#xff1a; 在开发文件管理系统或类似的项目时&#xff0c;我们常常需要根据文件类型展示对应的文件图标&#xff0c;这样可以提高用户体验。本文将介绍如何在Vue3项目中利用vscode-icons-js库&#xff0c;实现类似VSCode的文件图标展示效果。 先看效果&#xff1a; 一…

Flink任务提交流程和运行模式

任务提交流程 Flink 的提交流程随着部署模式、资源管理平台的不同&#xff0c;会有不同的变化。这里做进一步的抽象&#xff0c;形成一个大概高视角的任务执行流程图&#xff0c;如下&#xff1a; Flink按照集群和资源管理的划分运行模式有&#xff1a;Standalone、Flink On…

你是否陷入了惯性思维的陷阱?

如何突破惯性思维&#xff1f; 文 / 周妙錥&#xff08;MEOW EE CHEW&#xff09;13-02-2024 什么是惯性思维&#xff1f; 惯性思维&#xff08;Inertial Thinking&#xff09;是指我们在面对问题、决策或行为选择时&#xff0c;倾向于依赖过去的经验、习惯或想法&#xff0…

SubtitleEdit:一个基于.Net开发的开源字幕编辑器

现在是短视频的时代&#xff0c;对视频的字幕编辑需求非常多&#xff0c;今天介绍一个功能强大的开源视频字幕编辑器。 01 项目简介 Subtitle Edit 是基于.Net开发的开源项目&#xff0c;支持跨平台使用&#xff0c;包括Windows、Linux 和 macOS。这个软件不仅支持多种字幕格…

打开 Mac 触控板的三指拖移功能

对于支持力度触控的触控板&#xff0c;可以选择使用三指手势来拖移项目。 相应的设置名称会因你使用的 macOS 版本而有所不同&#xff1a; 选取苹果菜单  >“系统设置”&#xff08;或“系统偏好设置”&#xff09;。 点按“辅助功能”。 点按“指针控制”&#xff08;…

cms框架cookice注入漏洞

目录 一、环境 二、开始分析 2.1代码审计&#xff08;未授权访问&#xff09; 一、环境 环境私聊获取 二、开始分析 2.1代码审计&#xff08;未授权访问&#xff09; 我们可以看到构造函数ip是通过X_FORWARDED_FOR来获取的&#xff0c;而这个刚好可以伪造&#xff0c;那我…

理解张量拼接(torch.cat)

拼接 维度顺序&#xff1a;对于 3D 张量&#xff0c;通常可以理解为 (深度, 行, 列) 或 (批次, 行, 列)。 选择一个dim进行拼接的时候其他两个维度大小要相等 对于三维张量&#xff0c;理解 torch.cat 的 dim 参数确实变得更加抽象&#xff0c;但原理是相同的。让我们通过一…

【ow365】java对接使用第三方ow365预览pdf,word等office文档

ow365官网 文档在线预览 OfficeWeb365 速度更快的Office在线预览服务提供office在线预览及PDF在线预览服务&#xff0c;支持Word文档在线预览、Excel在线预览、PowerPoint在线预览、WPS等Office文件在线预览&#xff0c;支持所有浏览器及移动设备Mobile预览&#xff0c;无需安…

一款免费开源快速启动工具,提高工作效率!

这是一款可以帮助我们快速启动windows电脑上的程序的工具&#xff0c;可以添加分组&#xff0c;设置网站&#xff0c;程序&#xff0c;系统工具快速一键打开&#xff0c;让桌面变的更简洁&#xff0c;打开程序更方便。小编提醒&#xff0c;直接拖动程序快捷方式到程序框内&…