`

oralce 字符串按某个字符截取

 
阅读更多

--参数说明:substr(字符串,截取开始位置,截取长度)
 

select substr('1000|1010|106', instr('1000|1010|106','|', 1, 1), instr('1000|1010|106','|', instr('1000|1010|106','|', 1, 1), 2) - instr('1000|1010|106','|', 1, 1) )   from dual;

select instr('1000|1010|106','|', instr('1000|1010|106','|', 1, 1), 2) - instr('1000|1010|106','|', 1, 1)  from dual;

select substr('1000|1010|106', instr('1000|1010|106','|', 1, 1), 5 )   from dual;

  

在Oracle/PLSQL中,instr函数返回要截取的字符串在源字符串中的位置。

语法如下:instr( string1, string2 [, start_position [, nth_appearance ] ] )

string1 源字符串,要在此字符串中查找。

string2 要在string1中查找的字符串.

start_position 代表string1 的哪个位置开始查找。此参数可选,如果省略默认为1. 字符串索引从1开始。如果此参数为正,从左到右开始检索,如果此参数为负,从右到左检索,返回要查找的字符串在源字符串中的开始索引。

nth_appearance 代表要查找第几次出现的string2. 此参数可选,如果省略,默认为 1.如果为负数系统会报错。

例如:
 

select instr('1000|100|106','|', 1, 1) from dual; 

select instr('1000|100|106','|', instr('1000|100|106','|', 1, 1), 2) from dual;

 

--以逗号作为分隔符

    select substr('22,2,3',1,instr('22,2,3',',',1,1)-1) from dual; --截取第一个  
    select substr('22,2,3',instr('22,2,3',',',1,1)+1,(instr('22,2,3',',',1,2)-INSTR('22,2,3',',',1,1)-1)) from dual;  --截取第二个 
    select substr('22,2,3',instr('22,2,3',',',1,2)+1,(length('22,2,3')-instr('22,2,3',',',1,2))) from dual; --截取第三个

 

分享到:
评论

相关推荐

    Oracle_Sql_中常用字符串处理函数

    Oracle Sql 中提供了多种字符串处理函数,用于对字符串进行各种操作,如大小写转换、截取、连接、查找、替换等。下面是 Oracle Sql 中常用的字符串处理函数: 1. 大小写转换函数 Oracle Sql 提供了两个大小写转换...

    常用oracle字符串操作函数

    这个函数用于替换字符串中的某个子串。例如,`REPLACE('hello world', 'world', 'universe')` 返回 'hello universe'。 6. **TRIM()** 函数: TRIM() 用于删除字符串开头、结尾或两端的指定字符。例如,`TRIM(' ...

    一个oracle根据特定字符截取数据

    这篇博客“一个oracle根据特定字符截取数据”分享了一个实用的方法,适用于那些需要从字符串字段中提取部分信息的情况。通过SQL查询,我们可以高效地完成这项任务。 在Oracle SQL中,有多个内置函数可以帮助我们...

    Oracle截取字符串去掉字段末尾指定长度的字符

    本文将详细讨论如何使用Oracle的内置函数来截取并处理字符串,特别是如何去掉字段末尾指定长度的字符。 首先,Oracle提供了两种主要的函数来获取字符串的长度:`LENGTHB()` 和 `LENGTH()`。这两个函数的主要区别...

    Oracle 获取JSON字符串对象的属性值

    首先,Oracle的`substr()`函数用于截取字符串。例如,`substr('abc',1,2)`会返回'ab',即从字符串'abc'的起始位置1开始,截取长度为2的子串。而`instr()`函数则用于查找子字符串在原字符串中出现的位置,例如`instr...

    plsql分割字符串

    PL/SQL(Procedural Language for Oracle)作为Oracle数据库的一种强大工具,提供了丰富的功能来处理字符串,包括分割、连接、替换等操作。本文将深入探讨如何在PL/SQL中实现字符串的分割,并通过具体代码示例进行...

    Oracle字符函数

    Oracle字符函数是数据库管理中非常重要的组成部分,它们用于处理和操作字符串数据,使得在SQL查询和PL/SQL程序中对文本进行处理变得更为便捷。在Oracle数据库系统中,有一系列丰富的字符函数,可以帮助我们实现诸如...

    SQL 语句 将一个表中用特殊字符分割的字段转换成多行数据.docx

    SQL 字符串分割函数实现多行数据转换 在数据库中,经常会遇到将一个字段中的特殊字符分割的字符串转换成多行数据的情况。这是一个常见的需求,但是网上提供的解决方案往往非常复杂,难以理解和实现。为了解决这个...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    varchar2 1~4000字节 可变长度字符串,与CHAR类型相比,使用VARCHAR2可以节省磁盘空间,但查询效率没有char类型高 数值类型 Number(m,n) m(1~38) n(-84~127) 可以存储正数、负数、零、定点数和精度为38位的浮点数...

    INSTR的用法 Oracle里的Indexof

    例如,可以使用INSTR确定子字符串的位置,再使用SUBSTR从主字符串中截取特定部分。 ##### 5.3 在查询条件中使用 INSTR函数也可以作为查询条件的一部分,用于筛选满足特定条件的记录。例如,可以使用INSTR检查某个...

    Oracle与Informix函数比较.doc

    这些函数可以用来截取字符串、转换字符串的大小写、获取字符串的长度等。 1. 截取字符串:Informix 中的 substr 函数可以用来截取字符串,例如 `str[index1,index2]`,其中 `index1` 和 `index2` 必须是常量。而 ...

    oracle数据工程师面试题.pdf

    * SUBSTR函数:用于截取字符串的指定部分。 * LENGTH函数:用于获取字符串的长度。 3. 存储过程和函数 * 创建存储函数:CREATE OR REPLACE FUNCTION语句用于创建一个新的存储函数。 * 函数参数:在函数中可以定义...

    oracle数据库面试题目汇总.pdf

    * INSTR():返回字符串中某个指定的子串出现的开始位置 * REPLACE():将原来的字符串替换成新的字符串 * SOUNDEX():返回一个四位字符码,用于查找声音相似的字符串 事务概念 事务是 Oracle 数据库中的一种机制,...

    oracle内置函数大全

    11. SUBSTR函数:SUBSTR函数从字符串的特定位置开始截取指定长度的子串。例如,SUBSTR('13088888888', 3, 8)返回'08888888'。 12. REPLACE函数:REPLACE函数将字符串中的某个子串替换为另一个子串。如REPLACE('he ...

    Oracle String常用方法封装

    5. **字符串截取**:`SUBSTRING(input, start_position, length)`可以从输入字符串中提取指定长度的子串。 6. **去除空白**:`TRIM_WHITESPACE(str)`可以去除字符串首尾的空格。 7. **大小写转换**:`TO_UPPERCASE...

    ORACLE函数大全

    12. REPLACE函数:此函数用于替换字符串中的某个子串。REPLACE('Oracle', 'Or', 'Xr')将返回'Xrace','Or'被替换为'Xr'。 13. SOUNDEX函数:SOUNDEX返回一个字符串,该字符串代表原字符串的发音近似值,常用于语音...

    oracle查询不含括号及不含指定字符的方法

    总的来说,Oracle查询不含括号及指定字符的方法展示了字符串处理和正则表达式的应用,而Oracle数据库的备份和恢复策略则是数据库管理的重要组成部分。学习并掌握这些知识点,对于管理和维护Oracle数据库的稳定性和...

    MSSQL 将截断字符串或二进制数据问题的解决方法

    地图数据存放在sqlserver 2008中,使用mapxtreme7 开发时,使用Feature... 您可能感兴趣的文章:C# double和decimal数据类型以截断的方式保留指定的小数位数oracle中截断表的使用介绍js中根据字数截取字符串,不能截断ur

    Oracle常用的函数大全详细介绍

    - **REPLACE**:替换字符串中的某个子串。 - **CONCAT**:连接两个或多个字符串。 - **EXTRACT**:用于提取日期或时间值的特定部分,如年、月、日等。 掌握这些函数可以极大地提高你在处理Oracle数据库时的效率。...

Global site tag (gtag.js) - Google Analytics