Oracle 中常用的字符串函数总结

news2024/12/26 11:41:20

一、substr 函数 —— 字符串截取

格式1:

substr(string,start_pos,length)

格式2:

substr(string,start_pos)

说明:

从指定位置start_pos截取字符串string的length位,如果不指定length(格式2)则从指定位置start_pos截取字符串string。

start_pos等于0或者1均从左边第一位开始截取。

如果start_pos为负整数,则从右截取字符串。

举例子:

SELECT
    substr('abcdef', 0, 3),
    substr('abcdef', 1, 3),
    substr('abcdef', 3),
    substr('abcdef', - 3)
FROM
    dual;

结果:

在这里插入图片描述

二、instr 函数 —— 查找字符串

格式1:

instr(string,sub_string,start_pos,times)

说明:

从字符串string的指定位置start_pos开始查询子串sub_string第times次出现的位置。

注意:start_pos,times为可选参数,默认值均为1

举例子:

SELECT
    instr('abcfdgfdhd', 'fd')
FROM
    dual;

结果:
在这里插入图片描述

三、|| —— 字符串连接

SELECT
    'Hello' || ' world'
FROM
    dual;

结果:

在这里插入图片描述

四、去掉字符串首尾空格

ltrim 去字符串首部空格

rtrim 去字符串尾部空格

trim 去字符串首尾空格

举例子:

SELECT
    ltrim(' a b c ') s1, rtrim(' a b c ') s2, trim( ' a b c ') s3
from dual;

结果:

在这里插入图片描述

五、去掉前导和后缀

与trim类似,去掉前导使用关键字leading,去掉后缀使用关键字trailing,都去除不实用关键字。

举例子:

SELECT
    TRIM(LEADING '1' FROM '111abc111'),
    TRIM(TRAILING '1' FROM '111abc111'),
    TRIM('1' FROM '111a111bc111')
FROM
    dual;

结果:

在这里插入图片描述

六、replace 函数 —— 字符串替换

格式1:

replace(string,sub_string1,sub_string2)

说明:

用字符串 sub_string2 替代string中的 sub_string1,如果不指定sub_string2则删除string中的sub_string1

举例子:

SELECT
    replace('abc', 'b', 'xy'),
    replace('abc', 'b')
FROM
    dual;

结果:

在这里插入图片描述

七、translate 函数 —— 字符串转译

格式1:

translate(string,serial1,serial2)

说明:

用序列 serial2 中的字符一一替换 serial1 中的字符,如果不指定则删除。

注意:序列serial1和serial2左对齐一一对译

举例子:

SELECT
    translate('abcdafgdqwe', 'ad', '**')
FROM
    dual;

结果:

在这里插入图片描述

八、字符大小写切换

initcap 首字母大写

lower 转小写

upper 转大写

注意:只争对英文字母,对汉字无效

举例子:

SELECT
    lower('背景'),
    lower('abccd'),
    upper('def'),
    initcap('efg')
FROM
    dual;

结果:

在这里插入图片描述

九、字符串填充

用于控制输出格式

lpad 左添充

lpad(string,length,pad_char)

string为待优化输出格式字符串,length为输出字符串总长度,pad_char为填充字符串

如果length小于string的长度,自动截取string到length位

rpad 右填充

rpad(string,length,pad_char)

举例子:

SELECT
    lpad('funccccccccccccccccccc', 8, '='),
    lpad('func', 8, '='),
    rpad('func', 8, '-')
FROM
    dual;

结果:

在这里插入图片描述

十、regexp_substr 函数 —— 通过正则表达式分割字符串

格式:

regexp_substr(String, pattern, position, occurrence, modifier)

说明:

string:需要进行正则处理的字符串

pattern:进行匹配的正则表达式

position:起始位置,从字符串的第几个字符开始正则表达式匹配,默认为1

occurrence:获取第几个分割出来的组,分割后最初的字符串会按分割的顺序排列成组,默认为1

modifier:模式–‘i’不区分大小写进行检索;‘c’区分大小写进行检索,默认为’c’

举例子:

SELECT
    regexp_substr('daefaDH5AF12dafe', '[a-z]'),
    regexp_substr('daefaDH5AF12dafe', '[^a-z]'),
    regexp_substr('daefaDH5AF12dafe', '[^a-z]', 1, 1, 'c'),
    regexp_substr('daefaDH5AF12dafe', '[^a-z]', 1, 1, 'i')
FROM
    dual;

结果:

在这里插入图片描述

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

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

相关文章

【数据挖掘】2022数据挖掘之Pandas库相关使用

数据挖掘之Pandas库相关使用一、概念1、介绍2、Pandas的优点3、软件推荐(Jupyter Notebook)4、软件下载网址以及参考文档二、基础知识1、DataFrame属性和方法1.1 结构(1)行索引(2)列索引1.2 常用属性&#…

配置非法AP设备检测和反制

1、业务需求 某企业分支机构为了保证工作人员可以随时随地访问公司网络资源,部署WLAN基本业务实现移动办公。且在覆盖区域内移动发生漫游时,不影响用户的业务使用。 分支机构位于开放式场所,容易受到网络入侵,例如攻击者在WLAN网络…

摒弃“短板”——数据中心基础设施运维管理建议书

数据中心是数字基础设施的重要组成部分,同时也是一整套复杂的设施。它不仅仅包括计算机系统和其它与之配套的设备(例如通信和存储系统),还包含冗余的数据通信连接、环境控制系统、监控系统以及各种安全系统。运维管理又是数据中心…

基于智能优化算法实现自动泊车的路径动态规划(Matlab代码实现)

目录 💥1 概述 📚2 运行结果 🎉3 参考文献 👨‍💻4 Matlab代码 💥1 概述 作为一种方便、快捷的交通工具,汽车已成为人们生活和工作的重要组成部分。随着汽车数量的逐年增加,有限…

在ubuntu上用QT写一个简单的C++小游戏(附源码)

最近老师让用Qt写一个可视化界面,然后就给了一个小视频,好奇的不得了,就照着做了一下 视频链接如下:C案例教学–一个类游戏小程序的设计与实现全过程–用到QT-简单的STL容器 创建项目 1、打开QT 如果不知道怎么下载的话&#xff…

【牛客网刷题】VL8-VL10 generate for语句、比较数大小、function的使用

👉 写在前面 👉 本系列博客记录牛客网刷题记录 👉 日拱一卒,功不唐捐! 目录 VL8 使用generate for语句简化代码 题目描述 输入描述 输出描述 RTL 设计 testbench 设计 仿真测试 VL9 使用子模块实现三输入数的大…

【C++ 程序设计入门基础】- Chapter One

目录 一、什么是 C? 1、概念 2、标准库 二、第一个 C 程序 1、下载 C 开发工具 2、开始下载好之后,我们先设置一下编码,解决中文注释不显示的问题。 3、下面我们就可以新建一个源代码 4、 编写完成后,我们就可以运行查看结果…

MyBatis:缓存机制详解

本篇内容包括:MyBatis 缓存机制概述、一级缓存与二级缓存的介绍、配置和具体流程。 一、MyBatis 缓存机制概述 在我们常见的 OLTP(on-line transaction processing,联机事务处理)类型的 Web 应用中,性能的瓶颈往往来源…

【Transformer 相关理论深入理解】注意力机制、自注意力机制、多头注意力机制、位置编码

目录前言一、注意力机制:Attention二、自注意力机制:Self-Attention三、多头注意力机制:Multi-Head Self-Attention四、位置编码:Positional EncodingReference前言 最近在学DETR,看源码的时候,发现自己对…

【码上掘金编程挑战赛】- 前端可冲【简历加分项】

【码上掘金编程挑战赛】1.比赛报名2. 比赛介绍赛题一:码上游戏赛题二:码上创意赛题三:码上文言文赛题四:码上10243.报名4.提交作品1.比赛报名 比赛报名链接 https://juejin.cn/challenge/1?utm_source3169 2. 比赛介绍 赛题一…

Spring5入门到实战------14、完全注解开发形式 ----JdbcTemplate操作数据库(增删改查、批量增删改)。具体代码+讲解 【终结篇】

Spring5入门到实战------12、使用JdbcTemplate操作数据库(增删改查)。具体代码讲解 【上篇】 Spring5入门到实战------13、使用JdbcTemplate操作数据库(批量增删改)。具体代码讲解 【下篇】 以上两篇采用的是注解开发形式xml配置…

自己动手写操作系统系列第3篇,实现时钟和键盘中断

对应labOS版本1.3 程序源码可以私聊我 picirq.h int 0x20~0x2f接收中断信号IRQ0~15,因为int 0x00~0x1f不能用于IRQ。 picirq.c pic0_mask0xfb即1111 1011;PIC1以外全部禁止。pic1_mask0xff即1111 1111;禁止所有中断 pic_enable函数就是将…

【Linux下安装jdk】Linux下安装jdk

Linux下安装jdk 1、-RPM安装 1.1、检查系统是否安装过jdk java -version 检查是否有安装包 rpm -qa | grep java 1.2、安装jdk 查看服务器版本: uname -a 下载jdk对应rpm包: https://www.oracle.com/java/technologies/downloads/#java8 上传安装包至任意目录下&…

用户登录权限校验 JWT【详解】

JWT (json web token)是当前最流行的用户登录权限校验(用户认证鉴权)方案。 官网 https://jwt.io/ JWT 的工作流程 客户端填写账号密码访问登录接口 login,将账号密码传给服务端服务端验证账号密码是否正确&#xff0c…

职言 | 校招面试有感,一个面试官的几点建议

职言: 最近一直在校招,我(作者)和同事说等这段时间结束,我不想再参与面试了,快面吐了。从校招开始,我团队前前后后陆续进了500多封学生简历,我经常一整天排满了面试,聊到…

【电子通识】芯片资料(数据手册/规格书)查询常用网站和方法

目录 1.AlldataSheet 网站(建议使用) 2.ICpdf 网站 3.CIC中国IC网 网站 4.datasheet(不建议使用) 5.半导小芯 (建议使用) 6.立创商城 (建议使用) 在做硬件的芯片选型、产品维修…

生物信息学笔记02 -- 研究的一般方法

生物信息学概述 以基因组DNA序列信息为源头,识别基因组序列中代表蛋白质和RNA基因的编码区,阐明非编码区的信息特征,破译隐藏在DNA序列中的遗传语言规律 生物信息学研究的内容与方法 研究主要内容 ⚫ 生物学数据的收集、存储、管理与提供 …

C++:继承

文章目录前言一、继承的概念及定义1.继承的概念2.继承的定义二、基类和派生类对象赋值转换三、继承中的作用域四、派生类的默认成员函数五、继承与友元六、继承与静态成员总结前言 本文介绍C中的继承。 一、继承的概念及定义 1.继承的概念 继承机制是面向对象程序设计使代码可…

厨电智能化趋势下,究竟什么才是真正的“用户思维”?

文|智能相对论 作者|佘凯文 近期2022年前三季度的各项经济数据在陆续发布,大环境依然承压,各个行业都在负重前行。 厨电行业在房地产下滑、疫情反复等因素影响下,前三季度同样一直承受着不小的压力,AVC数据显示,202…

【面试官说实现一个顺序表,但听到要求后我沉默了】

在很多人心里,顺序表是数据结构最基础最简单的东西了,如果面试让我们手撕一道顺序表,相信大家心里早就乐开了花,但是面试官真的会出这么简单的题吗? 答案是:当然会,哈哈。 我们来看看面试官的要…