oracle substr(table),oracle中的substr()函数

本文详细介绍了Oracle数据库中的SUBSTR函数,包括其语法、参数及用法。通过示例展示了如何从字符串中截取指定部分,并提到了与DB2中的LEFT和RIGHT函数的对应关系。此外,还讲解了INSTR函数的使用,用于查找子字符串在源字符串中的位置。文章提供了多个SQL查询示例,帮助读者深入理解这两个函数的用法。
摘要由CSDN通过智能技术生成

SUBSTR(cExpression,nStartPosition [,nCharactersReturned])

其中,cExpression指定要从其中返回字符串的字符表达式或备注字段;

nStartPosition用于指定返回的字符串在字符表达式或备注字段中的位置,nCharactersReturned用于指定返回的字符数目,缺省时返回字符表达式的值结束前的全部字符。

SUBSTR(char A,char B,int C, int D)

这个函数主要用于字符串的运算,参数A是字符数组或是指向字符串的指针,用于接收字符串,参数B一般也为字符数组或指向字符串的指针,表示要截取字符串的地方,参数C表示从B中截取字符串的起始位置,参数D表示要截取字符串的长度,缺省时返回字符表达式的值结束前B的全部字符。

上述表达式功能可描述为:从字符串B的第C个字符处开始,截取长度为D的一串字符串,放入字符串数组A中,返回截取的字符串。

举例: ch X S[]="abcdefgh" 调用substr(X,S,4,2)后,得到的结果是:"ef"

-- substr

select substr('Hello World', 0, 1) as res from dual; -- H

select substr('Hello World', 1, 1) as res from dual; -- H

-- 0和1都是表示截取的开始位置为第一个字符

select substr('Hello World', 2, 4) as res from dual; -- ello

select substr('Hello World', 1, 7) as res from dual; -- Hello W

-- 负数(-i)表示截取的开始位置为字符串右端向左数第i个字符

select substr('Hello World', -3, 3) as res from dual; -- rld

select substr('Hello World', -7, 3) as res from dual; -- o W

--instr(源字符串,目标字符串,起始字符串,匹配字符串)=返回要截取的字符串在源字符串中的位置,从字符的开始,只检索一次

--instr(string1,string2,index1,index2) 表示:要在string1的index1号位置,开始查找,第index2次,出现的string2

select instr('Hello World','o',2,2) res from dual;--返回8:也就是说:在"Hello World"的第2号位置开始,查找第二次出现的o的位置

select instr('Hello World','w',2,2) res from dual;--返回0:即如果查找不到,则返回0 (区分大小写的)

select instr('Hello World','W') res from dual;--返回7

select instr('Hello World','Wo') res from dual;--返回7:即"Wo"的W的位置

select instr('Hello World','d',-1,2) res from dual;--返回0:

--空格也是字符。。。。。

select * from tablename t where t.field like '%abc%'

select * from tablename t where instr(t.field, 'abc')>0--效果一样

-- oracle 截取字段中空格前的字符

SELECT SUBSTR('AHS1234 3232', 0, INSTR('AHS1234 3232',' ')-1) str FROM dual;

以下摘自:https://www.cnblogs.com/wangkang0320/p/6743965.html

字符串 "AAA-BBB" 截取"AAA"  "BBB"

select substr('AAA-BBB',1,instr('AAA-BBB','-',-1)-1) 值 from dual;

0c741fc8a031bc06f7bcdc63739322a9.png

select substr('AAA-BBB',instr('AAA-BBB','-',-1)+1) 值 from dual;

d1350d7be82699d85f730ebc4552215b.png

Oracle中的substr()函数 详解及应用

注:本文来源于 1)substr函数格式   (俗称:字符截取函数) 格式1: substr(string string, int a, ...

db2中left()函数和right()函数对应oracle中的substr()函数

DB2 LEFT.RIGHT函数 语法:LEFT(ARG,LENGTH).RIGHT(ARG,LENGTH) LEFT.RIGHT函数返回ARG最左边.右边的LENGTH个字符串,ARG可以是CHA ...

[代码]--db2中left()函数和right()函数对应oracle中的substr()函数

DB2 LEFT.RIGHT函数 语法:LEFT(ARG,LENGTH).RIGHT(ARG,LENGTH) LEFT.RIGHT函数返回ARG最左边.右边的LENGTH个字符串,ARG可以是CHA ...

Oracle中的substr()函数详解案例

1)substr函数格式   (俗称:字符截取函数) 格式1: substr(string string, int a, int b); 格式2:substr(string string, int a ...

Oracle中的单行函数

Oracle中的单行函数 1 字符函数 UPPER()--将字符串转换为大写 SELECT UPPER('abc') FROM dual; LOWER()-将字符串转换为小写 SELECT LOWER ...

Oracle中使用Table()函数解决For循环中不写成 in (l_idlist)形式的问题

转: Oracle中使用Table()函数解决For循环中不写成 in (l_idlist)形式的问题 在实际PL/SQL编程中,我们要对动态取出来的一组数据,进行For循环处理,其基本程序逻辑为: ...

mysql中的substr()函数

mysql中的substr()函数和hibernate的substr()参数都一样,就是含义有所不同. 用法: substr(string string,num start,num length); ...

Oracle中 Instr 这个函数

http://www.jb51.net/article/42369.htm sql :charindex('字符串',字段)>0 charindex('administrator',MUserI ...

创建类似于Oracle中decode的函数

-- 创建类似于Oracle中decode的函数create or replace function decode(variadic p_decode_list text[])returns text ...

随机推荐

WPF——传实体类

User u; private void Button_Click_1(object sender, RoutedEventArgs e) //点击登陆按钮,弹出新窗体 { //先判断一下是不是正确的 ...

UITableView编写可以添加,删除,移动的物品栏(二)

MyTableViewCell.h文件(自定义ViewCell)的内容: MyTableViewCell.m的内容

Android 手势锁的实现 为了让自己的应用程序的安全,现在

转载请注明出处:http://blog.csdn.net/lmj623565791/article/details/36236113 今天偶遇以github上gesturelock关于手势锁的一个样例 ...

MUI顶部选项卡的用法(tab-top-webview-main)

前  言           MUI是一款最接近原生APP体验的高性能前端框架,它的比较重要的功能是:下拉刷新.侧滑导航.滑动触发操作菜单和顶部(底部)选项卡等 最近用MUI做手机app应用的时候 ...

PHP 字符串转 bigint 型md5

1 2 3 4 5 6 7 8 /**      * 字符串转bigint      * @return bigint(string)      */     public function md5( ...

Excelpackage的简单使用(导出用户信息并保存)

EPPlus介绍 EPPlus是一个使用Open Office XML(xlsx)文件格式,能读写Excel 2007/2010 文件的开源组件,在导出Excel的时候不需要电脑上安装office. ...

Docker搭建wordpress博客环境(Centos7)

Docker搭建wordpress博客环境(Centos7) 升级系统 yum -y update 设置docker库 sudo yum install -y yum-utils sudo yum-c ...

XXX on tree

%了发树上莫队 nlognsqrt(n) // luogu-judger-enable-o2 #include using namespace std; in ...

【乐呵一下】WINDOWS有个非常低级的错误!

该错误来自微软windows附带的计算器(开始附件计算器). 1. 当你尝试用9216除以96并按下=按钮时,计算器竟然没有反应!!! 而9216除以97,98却正常. 2. 还有一个错误,当你尝试用 ...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值