当前位置: 首页 > news >正文

【Oracle11g SQL详解】常用字符串函数:`CONCAT`、`SUBSTR`、`LENGTH`、`INSTR` 等

常用字符串函数:CONCATSUBSTRLENGTHINSTR

字符串函数在 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
  • 对于 NULLLENGTH 返回 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. LPADRPAD:填充字符串
  • 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. LOWERUPPER:大小写转换
  • 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 查找子字符串的位置,支持多次出现查找。
  • 其他字符串函数(如 TRIMLPADREPLACE 等)提供了丰富的文本处理能力。

通过灵活使用字符串函数,可以大大简化数据处理过程,提高 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 的数据可视化图表库,提供直观&#xf…...

厦门凯酷全科技有限公司正规吗靠谱吗?

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

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命令&#xff0…...

QT JSON文件解析

参考博客 https://blog.csdn.net/cpp_learner/article/details/118421096 1 打开文件&#xff0c;读取全部内容 QFile file("../Json/js.json"); if (!file.open(QFile::ReadOnly | QFile::Text)) {qDebug() << "cant open error!";return; }// 读…...

[小白系列]GPU-nvidia-smi指令

‌nvidia-smi&#xff08;NVIDIA System Management Interface&#xff09;是一种命令行实用程序&#xff0c;用于监控和管理NVIDIA GPU&#xff08;图形处理器&#xff09;的状态和性能‌。它提供了一种简单而强大的方式来获取有关GPU的实时信息&#xff0c;并且可以用于诊断、…...

在SQL Server中使用hash join来提高表连接的性能

在SQL Server中使用hash join来提高表连接性能时&#xff0c;需要考虑数据集的大小、索引情况以及查询的具体需求。 在SQL Server中使用hash join来提高表连接性能的情况主要包括以下几种&#xff1a; • 两个表都没有合适的索引&#xff1a;Hash join通常适合当两个表都没有索…...

网络编程(Modbus进阶)

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

AI-调查研究-01-正念冥想有用吗?对健康的影响及科学指南

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; &#x1f680; AI篇持续更新中&#xff01;&#xff08;长期更新&#xff09; 目前2025年06月05日更新到&#xff1a; AI炼丹日志-28 - Aud…...

HTML 语义化

目录 HTML 语义化HTML5 新特性HTML 语义化的好处语义化标签的使用场景最佳实践 HTML 语义化 HTML5 新特性 标准答案&#xff1a; 语义化标签&#xff1a; <header>&#xff1a;页头<nav>&#xff1a;导航<main>&#xff1a;主要内容<article>&#x…...

7.4.分块查找

一.分块查找的算法思想&#xff1a; 1.实例&#xff1a; 以上述图片的顺序表为例&#xff0c; 该顺序表的数据元素从整体来看是乱序的&#xff0c;但如果把这些数据元素分成一块一块的小区间&#xff0c; 第一个区间[0,1]索引上的数据元素都是小于等于10的&#xff0c; 第二…...

MySQL 隔离级别:脏读、幻读及不可重复读的原理与示例

一、MySQL 隔离级别 MySQL 提供了四种隔离级别,用于控制事务之间的并发访问以及数据的可见性,不同隔离级别对脏读、幻读、不可重复读这几种并发数据问题有着不同的处理方式,具体如下: 隔离级别脏读不可重复读幻读性能特点及锁机制读未提交(READ UNCOMMITTED)允许出现允许…...

【SpringBoot】100、SpringBoot中使用自定义注解+AOP实现参数自动解密

在实际项目中,用户注册、登录、修改密码等操作,都涉及到参数传输安全问题。所以我们需要在前端对账户、密码等敏感信息加密传输,在后端接收到数据后能自动解密。 1、引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId...

cf2117E

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

华为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…...

稳定币的深度剖析与展望

一、引言 在当今数字化浪潮席卷全球的时代&#xff0c;加密货币作为一种新兴的金融现象&#xff0c;正以前所未有的速度改变着我们对传统货币和金融体系的认知。然而&#xff0c;加密货币市场的高度波动性却成为了其广泛应用和普及的一大障碍。在这样的背景下&#xff0c;稳定…...

Unsafe Fileupload篇补充-木马的详细教程与木马分享(中国蚁剑方式)

在之前的皮卡丘靶场第九期Unsafe Fileupload篇中我们学习了木马的原理并且学了一个简单的木马文件 本期内容是为了更好的为大家解释木马&#xff08;服务器方面的&#xff09;的原理&#xff0c;连接&#xff0c;以及各种木马及连接工具的分享 文件木马&#xff1a;https://w…...