【基础】ORACLE中substr的用法

ORACLE中substr函数的简单用法

substr(字符串,截取开始位置,截取长度) //返回截取的字

substr(‘Hello World‘,0,1) //返回结果为 ‘H‘  *从字符串第一个字符开始截取长度为1的字符串

substr(‘Hello World‘,1,1) //返回结果为 ‘H‘  *0和1都是表示截取的开始位置为第一个字符

substr(‘Hello World‘,2,4) //返回结果为 ‘ello‘

substr(‘Hello World‘,-3,3)//返回结果为 ‘rld‘ *负数(-i)表示截取的开始位置为字符串右端向左数第i个字符

测试:

select substr(‘Hello World‘,-3,3) value from dual;

时间: 2024-10-21 18:43:42

【基础】ORACLE中substr的用法的相关文章

sql语句EXISTS的用法和oracle中substr的用法

转需:EXISTS 指定一个子查询,检测 行 的存在. 语法: EXISTS subquery参数: subquery 是一个受限的 SELECT 语句 (不允许有 COMPUTE 子句和 INTO 关键字).结果类型: Boolean 如果子查询包含行,则返回 TRUE ,否则返回 FLASE . NOT EXISTS 的作用与 EXISTS 正好相反 EXISTS(包括 NOT EXISTS )子句的返回值是一个BOOL值. EXISTS内部有一个子查询语句(SELECT ... FROM.

oracle中substr() instr() 用法

--substr(字符串,截取开始位置,截取长度)=返回截取的字 select substr('miaoying',0,1) from dual;--返回结果为:m select substr('miaoying',1,1) from dual;--返回结果为:m--说明0和1都表示截取的位置为第一个字符 select substr('miaoying',-7,4) from dual;--返回结果为:iaoy--负数表示:-7表示从右边开始数第七位开始,也就是i,截取长度为4的字符串 --in

Oracle 中 decode 函数用法

Oracle 中 decode 函数用法 含义解释:decode(条件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值) 该函数的含义如下:IF 条件=值1 THEN RETURN(翻译值1)ELSIF 条件=值2 THEN RETURN(翻译值2) ......ELSIF 条件=值n THEN RETURN(翻译值n)ELSE RETURN(缺省值)END IFdecode(字段或字段的运算,值1,值2,值3) 这个函数运行的结果是,当字段或字段的运算的值等于值1时,该函数返回值

Oracle中Cursor的用法

关键字 ?概念 ?类型 ?异常处理 一 概念 游标是SQL的一个内存工作区,由系统或用户以变量的形式定义.游标的作用就是用于临时存储从数据库中提取的数据块.在某些情况下,需要把数据从存放在磁 盘的表中调到计算机内存中进行处理,最后将处理结果显示出来或最终写回数据库.这样数据处理的速度才会提高,否则频繁的磁盘数据交换会降低效率. 二  类型   Cursor类型包含三种: 隐式Cursor,显式Cursor和Ref Cursor(动态Cursor). 1. 隐式Cursor: 1).对于Selec

oracle中to_date详细用法示例(oracle日期格式转换)

这篇文章主要介绍了oracle中to_date详细用法示例,包括期和字符转换函数用法.字符串和时间互转.求某天是星期几.两个日期间的天数.月份差等用法 TO_DATE格式(以时间:2007-11-02 13:45:25为例) 1. 日期和字符转换函数用法(to_date,to_char) select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') as nowTime from dual; //日期转化为字符串 select to_char(sysdate,'

Oracle中Merge into用法总结 (转载)

Oracle中Merge into用法总结 (出处:http://www.cnblogs.com/dongsheng/p/4384754.html) 起因: 前段时间,因为涉及到一张表的大数据操作,要同时进行增删改,我跟师傅想了很多优化办法,结果都不尽人意.刚开始用的就是原始算法,先更新现有记录,再插入满足要求的其他记录,最后再删除多余记录,但是少量数据还可以,10W条数据就不行了,前台的超时时间是60s,远远无法满足要求.之后又想办法将任务进行拆分,根据每条记录流水号尾字符不同进行拆分,用多个

Oracle中Execute Immediate用法

Oracle中Execute Immediate用法 Execute Immediate代替了以前Oracle8i中DBMS_SQL package包.它解析并马上执行动态的SQL语句或非运行时创建的PL/SQL块.动态创建和执行SQL语句性能超前,Execute Immediate的目标在于减小企业费用并获得较高的性能,较之以前它相当容易编码.尽管DBMS_SQL仍然可用,但是推荐使用Execute Immediate,因为它获的收益在包之上. -- 使用技巧 1.Execute Immedi

oracle中类似indexof用法_instr函数

[sql] 在oracle中没有indexof()函数 但是提供了一个 instr() 方法 具体用法: select instr('保定市南市区','市',1,1)-1 from dual; 解释:1. '保定市南市区' =>可以是表达式,也可以是具体数据 2. '市'=>为分离的标志,这里为两组数据中的“市”这个字 3. 第一个1为从左边开始,如果为-1,则从右边开始. 4. 第二个1为“市”出现的第几次. www.2cto.com 在GBK编码下,一个中文占两个字节 select ins

关于oracle中to_char的用法

昨天做的需求中用到了几个之前没做过的用法 关键词:to_char('xxxx'),to_number('xxx') 1.to_char将ORACLE中10进制数转换为16进制数. 事先录入的10进制数为number型 对lac_16字段做了如下的处理, lpad(trim(Upper(to_char(ac_ten, 'xxxx'))), 4, '0') lac_16,  使用trim的原因是 转换后的16进制数会为保留10进制数的长度 后对to_char的此用法进行了学习,为方便,使用了orac