【Oracle11g SQL详解】常用字符串函数:`CONCAT`、`SUBSTR`、`LENGTH`、`INSTR` 等
常用字符串函数:CONCAT
、SUBSTR
、LENGTH
、INSTR
等
字符串函数在 SQL 中被广泛用于处理文本数据,例如拼接字符串、提取子串、查找字符位置等。Oracle 11g 提供了强大的字符串函数,可以简化对字符串的操作。
一、CONCAT
:拼接字符串
1. 功能
CONCAT
函数用于将两个字符串拼接成一个字符串。
2. 语法
CONCAT(string1, string2)
3. 示例
SELECT CONCAT('Hello', ' World') AS result
FROM dual;
-- 结果:Hello World
注意:
- 若需要拼接多个字符串,可以使用双竖线
||
操作符:SELECT 'First' || ' Second' || ' Third' AS result FROM dual; -- 结果:First Second Third
二、SUBSTR
:提取子字符串
1. 功能
SUBSTR
用于从字符串中提取指定位置的子串。
2. 语法
SUBSTR(string, start_position, length)
string
:要操作的字符串。start_position
:起始位置(从 1 开始,负数表示从末尾开始)。length
(可选):子串长度。如果省略,将提取到字符串末尾。
3. 示例
SELECT SUBSTR('Oracle SQL', 8, 3) AS result
FROM dual;
-- 结果:SQL
使用负数的起始位置:
SELECT SUBSTR('Oracle SQL', -3, 3) AS result
FROM dual;
-- 结果:SQL
三、LENGTH
:获取字符串长度
1. 功能
LENGTH
用于返回字符串的字符数。
2. 语法
LENGTH(string)
3. 示例
SELECT LENGTH('Oracle SQL') AS result
FROM dual;
-- 结果:10
空字符串与 NULL 的区别:
- 对于
''
(空字符串),LENGTH
返回0
。 - 对于
NULL
,LENGTH
返回NULL
。
四、INSTR
:查找字符位置
1. 功能
INSTR
用于查找指定子字符串在目标字符串中的位置。
2. 语法
INSTR(string, substring, start_position, occurrence)
string
:要搜索的目标字符串。substring
:要查找的子字符串。start_position
(可选):开始搜索的位置,默认为 1。occurrence
(可选):第几次出现的位置,默认为 1。
3. 示例
SELECT INSTR('Oracle SQL', 'SQL') AS result
FROM dual;
-- 结果:8
查找第二次出现的位置:
SELECT INSTR('Oracle SQL SQL', 'SQL', 1, 2) AS result
FROM dual;
-- 结果:12
五、其他常用字符串函数
1. TRIM
:去除首尾空格或指定字符
SELECT TRIM(' Oracle SQL ') AS result
FROM dual;
-- 结果:Oracle SQL
2. LPAD
和 RPAD
:填充字符串
LPAD
在字符串左侧填充指定字符:SELECT LPAD('123', 5, '0') AS result FROM dual; -- 结果:00123
RPAD
在字符串右侧填充指定字符:SELECT RPAD('123', 5, '0') AS result FROM dual; -- 结果:12300
3. REPLACE
:替换字符串
SELECT REPLACE('Oracle SQL', 'SQL', 'PL/SQL') AS result
FROM dual;
-- 结果:Oracle PL/SQL
4. LOWER
和 UPPER
:大小写转换
LOWER
将字符串转换为小写:SELECT LOWER('Oracle SQL') AS result FROM dual; -- 结果:oracle sql
UPPER
将字符串转换为大写:SELECT UPPER('Oracle SQL') AS result FROM dual; -- 结果:ORACLE SQL
5. INITCAP
:单词首字母大写
SELECT INITCAP('oracle sql functions') AS result
FROM dual;
-- 结果:Oracle Sql Functions
六、综合实例
1. 拼接并提取子串
将员工姓名拼接成“姓·名”的格式,提取姓氏的前两个字母:
SELECT CONCAT(last_name, '.' || SUBSTR(first_name, 1, 1)) AS formatted_name,SUBSTR(last_name, 1, 2) AS surname_abbreviation
FROM employees
WHERE department_id = 10;
2. 查找特定字符串并替换
从员工记录中查找包含 “Manager” 的职位,替换为 “Leader”:
SELECT job_title,REPLACE(job_title, 'Manager', 'Leader') AS updated_title
FROM jobs
WHERE INSTR(job_title, 'Manager') > 0;
七、小结
CONCAT
用于拼接两个字符串,多个字符串拼接可用||
。SUBSTR
提取子字符串,支持正负起始位置。LENGTH
返回字符串长度,区分空字符串与 NULL。INSTR
查找子字符串的位置,支持多次出现查找。- 其他字符串函数(如
TRIM
、LPAD
、REPLACE
等)提供了丰富的文本处理能力。
通过灵活使用字符串函数,可以大大简化数据处理过程,提高 SQL 查询的可读性和效率。
相关文章:
【Oracle11g SQL详解】常用字符串函数:`CONCAT`、`SUBSTR`、`LENGTH`、`INSTR` 等
常用字符串函数:CONCAT、SUBSTR、LENGTH、INSTR 等 字符串函数在 SQL 中被广泛用于处理文本数据,例如拼接字符串、提取子串、查找字符位置等。Oracle 11g 提供了强大的字符串函数,可以简化对字符串的操作。 一、CONCAT:拼接字符串…...

某养老产业公司管理诊断项目成功案例纪实
某养老产业公司管理诊断项目成功案例纪实 ——从短期和长期出发,提供转型改革建议 【客户行业】养老行业 【问题类型】问题诊断 【客户背景】 某养老产业公司是一家主要从事养老服务为主的企业,主营业务包括社区养老服务、居家养老、康复训练服务等…...
自然语言处理基础及应用场景
自然语言处理定义 让计算机理解人所说的文本 语音 Imitation Game 图灵测试 行为主义 鸭子理论 自然语言处理的基本任务 词性标注:区分每个词名词、动词、形容词等词性命名实体的识别:名词的具体指代是哪一类事物共指消解:代词指代的是前面…...

网页爬虫技术全解析:从基础到实战
引言 在当今信息爆炸的时代,互联网上的数据量每天都在以惊人的速度增长。网页爬虫(Web Scraping),作为数据采集的重要手段之一,已经成为数据科学家、研究人员和开发者不可或缺的工具。本文将全面解析网页爬虫技术&…...
数据仓库-查看表和数据库的信息
查询表信息 使用系统表pg_tables查询数据库所有表的信息。 SELECT * FROM pg_tables;使用gsql的\d命令查询表结构。 示例:先创建表customer_t1并插入数据。 CREATE TABLE customer_t1 ( c_customer_sk integer, c_customer_id char(5)…...

【JVM】JVM基础教程(四)
上一章:【JVM】JVM基础教程(三)-CSDN博客 目录 自动垃圾回收 方法区的回收 方法区回收条件 手动触发回收 堆回收 如何判断堆上的对象可以回收? 可以给对象引用赋值null,切断引用 引用计数法 循环引用缺点 查…...

深入了解Text2SQL开源项目(Chat2DB、SQL Chat 、Wren AI 、Vanna)
深入了解Text2SQL开源项目(Chat2DB、SQL Chat 、Wren AI 、Vanna) 前言1.Chat2DB2.SQL Chat3.Wren AI4.Vanna 前言 在数据驱动决策的时代,将自然语言查询转化为结构化查询语言(SQL)的能力变得日益重要。无论是小型创业…...
websocket 服务 pinia 全局配置
websocket 方法类 // stores/webSocketStore.ts import { defineStore } from "pinia";interface WebSocketStoreState {ws: WebSocket | null; // WebSocket 实例callbacks: ((message: string) > void)[]; // 消息回调函数列表connected: boolean; // 连接状态…...

基于Springboot企业oa管理系统【附源码】
基于Springboot企业oa管理系统 效果如下: 系统主页面 用户管理页面 公告信息管理页面 客户关系管理页面 车辆信息管理页面 工资信息管理页面 文件信息管理页面 上班考勤管理页面 研究背景 随着信息化时代的到来和企业OA管理理念的更新,企业面临着日益…...

Python遥感开发之地理探测器的实现
Python遥感开发之地理探测器的实现 1 地理探测器介绍2 官方软件实现3 Python代码实现 前言:本篇博客主要介绍使用py_geodetector库来实现地理探测器。 1 地理探测器介绍 官网链接:http://www.geodetector.cn/index.html 地理探测器用于测量和归因空间分…...
【HarmonyOS】 鸿蒙保存图片或视频到相册
【HarmonyOS】 鸿蒙保存图片或视频到相册 前言 鸿蒙中保存图片或者视频,或者其他媒体文件到设备的媒体库,可以是相册,也可以是文件管理等。共有两种方式: 需要应用申请受限权限,获取文件读写的权限(调用…...

Apache Echarts和POI
目录 Apache ECharts 介绍 入门 绘制一个简单的图表 Apache POI 介绍 通过POI创建Excel文件并且写入文件内容 通过POI读取Excel文件中的内容 导出Excel表格 Apache ECharts 介绍 Apache ECharts 是一款基于 Javascript 的数据可视化图表库,提供直观…...

厦门凯酷全科技有限公司正规吗靠谱吗?
随着短视频和直播电商的迅猛发展,越来越多的企业开始将目光投向抖音这一平台。作为国内领先的短视频社交平台,抖音凭借其庞大的用户基础和强大的算法推荐系统,成为众多品牌拓展市场、提升销售的重要渠道。厦门凯酷全科技有限公司(…...

WireShark 下载、安装和使用
1、下载 官网下载太慢,本人另外提供下载地址【下载WireShark】 2、安装 全部默认下一步即可,但如下图所示的这一步值得拿出来说一下。这一步是要你安装Npcap,但是你的电脑如果已经安装了WinPcap,那么可以选择不再安装Npcap。Npca…...

2025周易算命网站搭建详细方法+源码选择php环境的配置
以下是一个详细的搭建教程,包括网站分类、环境配置、程序设计和功能实现。 1. 环境准备 1.1 服务器选择 操作系统: Linux(推荐使用Ubuntu或CentOS)Web服务器: Nginx数据库: MySQLPHP版本: 7.4.x(确保小于8.0) 1.2 安…...
共享购模式革新登场:重构消费生态,领航商业新未来
近期,一种创新的商业模式——共享购,在电子商务领域掀起了一股热潮,不仅吸引了广大消费者的目光,也激发了商家和资本市场的浓厚兴趣。共享购模式凭借其独到的消费积分累积与转换体系,正在逐步重塑消费生态,…...
centos kafka单机离线安装kafka服务化kafka tool连接kafka
a.版本&环境 linux版本:centos7.6 kafka: kafka_2.12 zookeeper:zookeeper_3.6.3(之前已经安装:linux zookeeper安装并服务化-CSDN博客) java:1.8(之前已经安装) windows kafka tool: 2.1 b.kafka单机安装 1.切换目录 cd downloads/,利用rz命令࿰…...
QT JSON文件解析
参考博客 https://blog.csdn.net/cpp_learner/article/details/118421096 1 打开文件,读取全部内容 QFile file("../Json/js.json"); if (!file.open(QFile::ReadOnly | QFile::Text)) {qDebug() << "cant open error!";return; }// 读…...
[小白系列]GPU-nvidia-smi指令
nvidia-smi(NVIDIA System Management Interface)是一种命令行实用程序,用于监控和管理NVIDIA GPU(图形处理器)的状态和性能。它提供了一种简单而强大的方式来获取有关GPU的实时信息,并且可以用于诊断、…...
在SQL Server中使用hash join来提高表连接的性能
在SQL Server中使用hash join来提高表连接性能时,需要考虑数据集的大小、索引情况以及查询的具体需求。 在SQL Server中使用hash join来提高表连接性能的情况主要包括以下几种: • 两个表都没有合适的索引:Hash join通常适合当两个表都没有索…...

网络编程(Modbus进阶)
思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…...

AI-调查研究-01-正念冥想有用吗?对健康的影响及科学指南
点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) 目前2025年06月05日更新到: AI炼丹日志-28 - Aud…...
HTML 语义化
目录 HTML 语义化HTML5 新特性HTML 语义化的好处语义化标签的使用场景最佳实践 HTML 语义化 HTML5 新特性 标准答案: 语义化标签: <header>:页头<nav>:导航<main>:主要内容<article>&#x…...

7.4.分块查找
一.分块查找的算法思想: 1.实例: 以上述图片的顺序表为例, 该顺序表的数据元素从整体来看是乱序的,但如果把这些数据元素分成一块一块的小区间, 第一个区间[0,1]索引上的数据元素都是小于等于10的, 第二…...
MySQL 隔离级别:脏读、幻读及不可重复读的原理与示例
一、MySQL 隔离级别 MySQL 提供了四种隔离级别,用于控制事务之间的并发访问以及数据的可见性,不同隔离级别对脏读、幻读、不可重复读这几种并发数据问题有着不同的处理方式,具体如下: 隔离级别脏读不可重复读幻读性能特点及锁机制读未提交(READ UNCOMMITTED)允许出现允许…...
【SpringBoot】100、SpringBoot中使用自定义注解+AOP实现参数自动解密
在实际项目中,用户注册、登录、修改密码等操作,都涉及到参数传输安全问题。所以我们需要在前端对账户、密码等敏感信息加密传输,在后端接收到数据后能自动解密。 1、引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId...

cf2117E
原题链接:https://codeforces.com/contest/2117/problem/E 题目背景: 给定两个数组a,b,可以执行多次以下操作:选择 i (1 < i < n - 1),并设置 或,也可以在执行上述操作前执行一次删除任意 和 。求…...

华为OD机试-食堂供餐-二分法
import java.util.Arrays; import java.util.Scanner;public class DemoTest3 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseint a in.nextIn…...
稳定币的深度剖析与展望
一、引言 在当今数字化浪潮席卷全球的时代,加密货币作为一种新兴的金融现象,正以前所未有的速度改变着我们对传统货币和金融体系的认知。然而,加密货币市场的高度波动性却成为了其广泛应用和普及的一大障碍。在这样的背景下,稳定…...

Unsafe Fileupload篇补充-木马的详细教程与木马分享(中国蚁剑方式)
在之前的皮卡丘靶场第九期Unsafe Fileupload篇中我们学习了木马的原理并且学了一个简单的木马文件 本期内容是为了更好的为大家解释木马(服务器方面的)的原理,连接,以及各种木马及连接工具的分享 文件木马:https://w…...