(1)oracle中实现截取字符串:substr

substr(string, start_position, [length])

其中,string是元字符串,start_position为开始位置,length是可选项,表示子字符串的位数。

例子:

substr('ABCDEFG', 0);    -- 返回结果是:ABCDEFG,从0位开始截取后面所有

substr('ABCDEFG', 2);    -- 返回结果是:CDEFG,从2位开始截取后面所有

substr('ABCDEFG', 0, 3);  -- 返回结果是:ABC,从0位开始往后截取3个字符长度

substr('ABCDEFG', 0, 100);  -- 返回结果是:ABCDEFG,虽然100超出了元字符串长度,但是系统会按元字符串最大数量返回,不会影响返回结果

substr('ABCDEFG', -3);  -- 返回结果是:EFG,如果是负数,则从尾部往前数,截取-3位置往后的所有字符串

(2)查找字符串位置:instr

instr(string, subString, [start_position, [nth_appearance]])

其中,string是元字符串;subString是要查找的子字符串;start_position是要查找的开始位置,为可选项(默认为1),注意在这里字符串索引从1开始,如果此参数为正,则从左到右检索,如果此参数为负,则从右到左检索;nth_appearance是元字符串中第几次出现的子字符串,此参数可选,缺省默认为1,如果是负数则系统报错。

例子:

instr('ABCDABCDAEF', 'AB');   -- 返回结果是:1,因为instr字符串索引从1开始,所以是1不是0

instr('ABCDABCDAEF', 'DA', 1, 2);   -- 返回结果是:8,返回第二次出现'DA'的位置

instr('A BCDABCDAEF', 'DA', 1, 2);  -- 返回结果是:9,由于我在元字符串中加了一个空格,空格仍然算一个字符

(3)替换字符串:replace

replace(str1, str2, str3)

其表示的意思是:在str1中查找str2,凡是出现str2的地方,都替换成str3。

replace('ABCDEFG', 'CDE', 'cde');  -- 返回结果是:ABcdeFG

replace('ABCDEFG', 'CDE', '');   -- 返回结果是:ABFG,CDE被替换成空字符

replace('ABCDEFG', 'CDE');   -- 返回结果是:ABFG,当不存在第三个参数时,CDE直接被删掉

本来我还以为oracle中也有系统自带的那种像split这样的拆分字符串的函数,结果找了好久,发现居然没有,网上有很多解决方法,我就不总结在这里了,后面需要的时候视情况来写。

如果想批量替换修改表中某个字段的某个字符串,可以使用如下的方式:

-- 将description列中的ABC都替换成CBA

UPDATE cux_test t

SET t.description = REPLACE(t.description,

'ABC',

'CBA')

WHERE t.id = 10063;

注意,上文提到的substr、instr等方法,至于首位是从0开始开始从1开始,上文中可能会存在一些错误,建议在使用的时候首先在数据库中测试一下从0开始从1。

oracle 截取 tr,oracle中实现截取字符串(substr)、查找字符串位置(instr)、替换字符串(replace)...相关推荐

  1. php输出到特定位置,如何使用php从指定位置开始替换字符串

    如何使用php从指定位置开始替换字符串 发布时间:2020-08-03 16:10:19 来源:亿速云 阅读:146 作者:Leah 本篇文章给大家分享的是有关如何使用php从指定位置开始替换字符串, ...

  2. Linux中的sed命令,使用方法之一「替换字符串中的内容 」,以及「s/ / / 」和「s/ / /g」之间的区别

    ■前言 按照如下写法,可以实现替换字符串的功能 ■具体操作 sed 's/hello/hi/' 321.html 替换对象 hello 替换后,显示的内容 hi 只是在输出的时候,被替换,不会改变原有 ...

  3. python 字符串去空格_Python去除、替换字符串空格的处理方法

    个人想到的解决方法有两种,一种是 .replace(' old ',' new ') 第一个参数是需要换掉的内容比如空格,第二个是替换成的内容,可以把字符串中的空格全部替换掉. 第二种方法是像这样 s ...

  4. mysql从表截取信息_mysql中循环截取用户信息并插入到目标表对应的字段中

    操作环境:有表game_list,字段:uid,score1,score2,seat_id,last_update: 传入参数为i_player_detail ,传入的值为多个用户的id.之前分数.之 ...

  5. mysql数据库批量替换字符串_数据库全文搜索批量替换字符串

    --如果是第一次执行则先创建存储过程 --如果不是第一次执行则直接修改 就可以.或者直接调用 create proc Full_Search(@string nvarchar(500),@string ...

  6. oracle 拼接 长度,oracle操作字符串:拼接、替换、截取、查找、长度、判断详解...

    1.拼接字符串 1)可以使用"||"来拼接字符串 select '拼接'||'字符串' as str from dual 2)通过concat()函数实现 select conca ...

  7. Oracle笔记(操作Scott中的数据)

    文章目录 1 数据库相关概念 2 数据库的发展阶段 3 Oracle相关介绍 3.1 软件相关介绍 3.2 软件目录结构介绍 3.3 软件原理 3.3.1 软件体系架构 3.3.2 本地网络服务配置 ...

  8. oracle内部函数,[数据库]Oracle内置函数

    [数据库]Oracle内置函数 0 2020-08-21 19:00:31 lpad()函数:用于左补全字符串. 例:lpad('原始数据','预期长度','填充字符') ,lpad('123','5 ...

  9. oracle co函数,Oracle 常用函数

    一.大小写转换函数 LOWER LOWER函数用小写形式替换字符串中的大写字符.语法:LOWER(s). select lower(100+100),lower('SQL'),lower(sysdat ...

最新文章

  1. textrank4zh是_GitHub - renxiaowei941015/TextRank4ZH: 从中文文本中自动提取关键词和摘要...
  2. Androidx ViewPager+Fragment 懒加载
  3. LeetCode45 Jump Game II
  4. 用Python玩连连看是什么效果?
  5. html中js定义的方法无效,javascript中定义函数有几种常用方法?
  6. Update Remote Files 1.0
  7. Springboot2.X + screw数据库快速开发文档
  8. linux下phylip软件构建NJ树,SNP数据构建系统进化树
  9. stm32点亮流水灯(小白的求学之路)
  10. PS调出春夏外景婚纱照
  11. 转:模拟信号隔离法则
  12. dfuse 发布全新 EOSIO 链迁移工具
  13. ;按F11立即备份晓亮的电脑操作记录并打开记录.AU3 (AutoIt)
  14. 微软的一道前端面试题
  15. sqlserver 数据误删除恢复
  16. DevExtreme UI框架在可视化应用程序Nvisual中的实践应用
  17. response概述
  18. EJB是个什么东东?
  19. DS18B20 Proteus
  20. 日乒赛-马龙爆冷止步次轮 朱雨玲陈梦率先进8强

热门文章

  1. android-6.0 新功能介绍(Marshmallow)
  2. date oracle 表中_oracle数据库 中to_number()、to_char()、to_date()用法介绍
  3. php 连接池 idletime,聊聊hikari连接池的idleTimeout及minimumIdle属性
  4. java 多线程 选择题_Java多线程之三道多线程练习题
  5. corelab mysql_ALinq 让Mysql变得如此简单_MySQL
  6. CMake-add_executable()
  7. OpenShift 4 - 用Compliance Operator对OpenShift进行安全合规扫描
  8. OpenShift 4 - 查看Node上的日志
  9. 具有数据库依赖性的.NET Core应用程序的集成测试
  10. 谁能制约云厂商滥用开源,谁来帮助开源软件作者?