Oracle 查询优化改写(第五章)

news2024/11/18 3:34:47

第五章 使用字符串

1.遍历字符串

SELECT '天天向上' 内容,level,substr('天天向上', LEVEL, 1) 汉字拆分
  FROM Dual
CONNECT BY LEVEL <= Length('天天向上');

 2.计算字符在字符串中出现的次数

 

 

3.从字符中删除不需要的字符 

若员工姓名有元音字母AEIOU,现在要求把这写元音字母去掉。

SELECT 'aAbcdef', Translate('abcdef', '1AEIOUaeiou', '1') FROM Dual;
SELECT 'aAbcdef', Regexp_Replace('abcdef', '[AEIOUaeiou]') FROM Dual;

 将字符和数字数据分离也可以通过regexp_replace分离:

regexp_replace(data,'[0-9],'')  字符

regexp_replace(data,'[^0-9],'')  数字

4.正则表达式 regexp_like

 

4.1^和$的含义

 

 4.2+和*的含义

 

4.3 ^和$与+和*联合使用

 

 5.提取姓名的大写字母缩写

 

 

 6.按字符串中的数值排序

 

7. 根据表中的行创建一个分割列表

SELECT Deptno,
       SUM(Sal) AS Total_Sal,
       Listagg(Ename, ',') Within GROUP(ORDER BY Ename) AS Total_Name
  FROM Emp
 GROUP BY Deptno;

 8.提取第n个分隔的子串

--function REGEXP_SUBSTR(String, pattern, position, occurrence, modifier)
--参数二:-^在方括号里表示否的意思,+表示匹配1次以上,[^,]+表示匹配不包含逗号的多个字符。
--参数三:1表示从第一个字符开始。
--参数四:2表示第二个能匹配'[^,]+'的字符串。
--参数五:模式(‘i’不区分大小写进行检索;‘c’区分大小写进行检索。默认为’c’)针对的是正则表达式里字符大小写的匹配
SELECT Regexp_Substr(Total_Name, '[^,]+', 1, 2) AS 第二个子串
  FROM (SELECT Listagg(Ename, ',') Within GROUP(ORDER BY Ename) AS Total_Name
          FROM Emp);

9.分解IP的地址

--分解ip地址192.168.1.1
SELECT Regexp_Substr(Ip, '[^.]+', 1, 1) AS a,
Regexp_Substr(Ip, '[^.]+', 1, 2) AS b,
Regexp_Substr(Ip, '[^.]+', 1, 3) AS c,
Regexp_Substr(Ip, '[^.]+', 1, 4) AS d
  FROM (SELECT '192.168.1.1' AS Ip FROM Dual);

10.将分隔数据转换为多值in列表

DECLARE
  CURSOR c_Emps(v_Emps VARCHAR2) IS
    SELECT *
      FROM Emp
     WHERE Ename IN
           (SELECT Regexp_Substr(v_Emps, '[^,]+', 1, LEVEL) AS Ename
              FROM Dual
            CONNECT BY LEVEL <=
                       Length(Translate(v_Emps, ',' || v_Emps, ',')) + 1);

  c_Emp_Rec c_Emps%ROWTYPE;
BEGIN
  OPEN c_Emps('&InputString');
  LOOP
    FETCH c_Emps
      INTO c_Emp_Rec;
    EXIT WHEN c_Emps%NOTFOUND;
    Dbms_Output.Put_Line(c_Emp_Rec.Ename);
  END LOOP;

END;

 11.按字母顺序排列字符串

SELECT Ename,
       (SELECT Listagg(Substr(Ename, LEVEL, 1))
           Within GROUP(ORDER BY Substr(Ename, LEVEL, 1))
          FROM Dual
        CONNECT BY LEVEL <= Length(Ename)) AS New_Name
  FROM Emp;

SELECT Ename,
       (SELECT Listagg(min(Substr(Ename, LEVEL, 1)))
        Within GROUP(ORDER BY (Substr(Ename, LEVEL, 1)))
          FROM Dual
        CONNECT BY LEVEL <= Length(Ename) 
        GROUP BY Substr(Ename, LEVEL, 1)) AS New_Name
  FROM Emp;

 12.判别可作数值的字符串

 

 

 

 

 

 

 

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

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

相关文章

pikachu靶场-敏感信息泄露

敏感信息泄漏简述 攻击方式 常见的攻击方式主要是扫描应用程序获取到敏感数据 漏洞原因 应用维护或者开发人员无意间上传敏感数据&#xff0c;如 github 文件泄露 敏感数据文件的权限设置错误&#xff0c;如网站目录下的数据库备份文件泄露 网络协议、算法本身的弱点&#xff…

阿里云ACK worker节点硬盘扩盘

1、在控制台选择要扩盘的服务器&#xff0c;进入硬盘并选择扩盘 2、进入盘后点击已备份扩盘 3、选择扩盘方式以及要扩盘的最后大小 4、确认是否按我们的要求扩盘的 5、扩盘分区和文件系统 6、手动扩盘操作 ACK扩盘文档 查看分区情况 [rootiZj6caed975ouwzuyu564vZ ~]# ls…

C++技能 ( 1 ) - 使用Lambda表达式【详解】

系列文章目录 C高性能优化编程系列 深入理解软件架构设计系列 高级C并发线程编程 C技能系列 期待你的关注哦&#xff01;&#xff01;&#xff01; 现在的一切都是为将来的梦想编织翅膀&#xff0c;让梦想在现实中展翅高飞。 Now everything is for the future of dream w…

SpringBoot项目启动成功但接口访问404

问题描述&#xff1a;SpringBoot项目启动成功&#xff0c;但使用postman调接口时报404 分析&#xff1a;找不到路径&#xff0c;controller未生效。 解决&#xff1a;将com.local.coupon.template.templateimpl改为com.local.coupon.template。SpringBoot会扫描到com.local.co…

2023-6-16-第七式桥接模式

&#x1f37f;*★,*:.☆(&#xffe3;▽&#xffe3;)/$:*.★* &#x1f37f; &#x1f4a5;&#x1f4a5;&#x1f4a5;欢迎来到&#x1f91e;汤姆&#x1f91e;的csdn博文&#x1f4a5;&#x1f4a5;&#x1f4a5; &#x1f49f;&#x1f49f;喜欢的朋友可以关注一下&#xf…

外包能转正吗?外包员工能变正式员工吗?

外包员工能变正式员工吗&#xff1f;这里辟谣一波&#xff0c;许多外包都说有转正机会。实际情况是几乎等于零。其中&#xff0c;三方外包更是可以直接和零划等号。三方外包的转正&#xff0c;往往就是给个内推机会&#xff0c;然后和面试官会熟悉一些。 然而这些都没什么价值…

【SpringCloud入门】-- 初识Eureka注册中心

目录 1.SpringCloudEureka简介 2.什么是CAP原则&#xff1f; 3.注册中心的概念&#xff1f; 4.SpringCloud其他注册中心 5.搭建Eureka注册中心 6.eureka的配置(主要是server&#xff0c;instance&#xff0c;client) 7.eureka集群概念 8.eureka集群搭建 1.SpringCloudE…

Unity 之 使用后处理的方式实现暗角效果

Unity 之 后处理URP工程实现边角压暗效果 一&#xff0c;URP工程配置二&#xff0c;代码调用三&#xff0c;实现原理 一&#xff0c;URP工程配置 在Hierarchy界面&#xff0c;创建空物体 GameObject&#xff0c;右键选择Volume菜单下的Global Volume。 创建后的结果&#xff1…

ahut 月赛1

心得: 一点一点理解&#xff0c;对于一段要学习的代码&#xff0c;跟着写下来&#xff0c;理解一点写一点 对于一道题目&#xff0c;用记事本&#xff0c;看题目&#xff0c;看一句题目&#xff0c;用自己的话概括一句&#xff0c;写在记事本上&#xff0c;并将自己的 想法一…

在JavaScript中的数据结构(链表)

文章目录 链表是什么&#xff1f;链表的好处详细的看一下列表单向链表实操链表向链表尾部追加元素从链表中移除元素根据元素的值移除元素在任意位置插入元素查找链表是否有改元素检查链表是否为空检查链表的长度查看链表头元素把LinkedList对象转换成一个字符串打印链表元素 双…

盖雅「劳动力账户」:制造业全面工时成本管理利器

制造业是国民经济的重要支柱之一&#xff0c;也是国家实体经济发展的重点。随着国际竞争加剧&#xff0c;制造业企业需要不断优化和提升生产效率、降低成本&#xff0c;并保证产品的质量和可靠性。 在这过程中&#xff0c;制造业企业需要寻找新的技术与方法&#xff0c;挖掘生…

saltstack草稿

salt [options] <target> <module.function> [arguments] salt的自建函数&#xff1a; salt * test.rand_sleep 120 salt/salt/modules/test.py 这个是salt自带的包 salt * disk.usage salt -G ipv4:192.168.50.12 cmd.run ls -l /home salt * grain…

微服务开发系列 第九篇:OAuth2

总概 A、技术栈 开发语言&#xff1a;Java 1.8数据库&#xff1a;MySQL、Redis、MongoDB、Elasticsearch微服务框架&#xff1a;Spring Cloud Alibaba微服务网关&#xff1a;Spring Cloud Gateway服务注册和配置中心&#xff1a;Nacos分布式事务&#xff1a;Seata链路追踪框架…

CSS查缺补漏之《说一说CSS3有哪些新特性?》

面试时经常会被用到你了解CSS3新特性嘛&#xff0c;针对此问题&#xff0c;特整理如下~ 背景相关 background-size&#xff1a;用于设置背景图的尺寸 可选属性值有 length、percentage、cover、contain、auto length用长度值规定背景图片大小&#xff0c;若有两值&#xff0c;…

阿里云无影云电脑使用教程(3分钟新手指南)

​阿里云无影云电脑即无影云桌面&#xff0c;云桌面如何使用&#xff1f;云电脑创建后没有用户名和密码&#xff0c;先创建用户设置密码&#xff0c;才可以登录连接到云桌面。云桌面想要访问公网还需要开通互联网访问功能。阿里云百科来详细说下阿里云无影云电脑从选择、创建用…

项目管理,如何做到流程标准化?

项目管理如何做到刘春标准化&#xff1f;要想做好项目管理&#xff0c;可以借助于信息化工具&#xff0c;从以下方面入手&#xff1a; 1.明确目标 在项目管理中&#xff0c;确定团队的目标是非常重要的。团队需要制定一个清晰、可衡量的目标&#xff0c;以便能够全力以赴地实…

sqlserver------数据库的存储过程(练习)

对于数据库的存储过程之前的专题有讲过 这里具体讲述存储过程的编写方法&#xff1a; 例题&#xff1a;有heat表和eatables两张表&#xff0c;分别为&#xff1a; eatables heat&#xff1a;protein&#xff08;蛋白质&#xff09;&#xff0c;fat&#xff08;脂肪&#xff…

【计算机网络自顶向下】如何学好计网-第四章网络层

第四章 网络层 学习目的&#xff1a; 理解网络层服务的主要原理 网络岑服务模型转发&#xff08;forwarding&#xff09;和路由&#xff08;routing&#xff09;的概念对比路由器的工作原理路由算法及路由协议 完成简单的组网及IP地址和路由配置 4.1 引言 网络层提供的功能…

前端vue自定义简单实用下拉筛选 下拉菜单

前端vue自定义简单实用下拉筛选 下拉菜单, 下载完整代码请访问: https://ext.dcloud.net.cn/plugin?id13020 效果图如下: #### 使用方法 使用方法 <!-- titleArr: 选择项数组 dropArr: 下拉项数组 finishDropClick: 下拉筛选完成事件--> <ccDropDownMenu :titleA…

解密Prompt系列3. 冻结LM微调Prompt: Prefix-tuning Prompt-tuning P-tuning

这一章我们介绍在下游任务微调中固定LM参数&#xff0c;只微调Prompt的相关模型。这类模型的优势很直观就是微调的参数量小&#xff0c;能大幅降低LLM的微调参数量&#xff0c;是轻量级的微调替代品。和前两章微调LM和全部冻结的prompt模板相比&#xff0c;微调Prompt范式最大的…