Oracle截取某字段前后字符串

创建测试表及数据


1

2

3

4

5

6

7

8

9

create table test

(name varchar2(10));

insert into test values (‘2-15‘);

insert into test values (‘2-33‘);

insert into test values (‘2-3‘);

insert into test values (‘12-8‘);

insert into test values (‘12-22‘);

insert into test values (‘12-3‘);

执行


1

select name,substr(name,1,instr(name,‘-‘)-1) 前,substr(name,instr(name,‘-‘)+1,length(name)-instr(name,‘-‘)) 后 from test

时间: 2024-10-11 09:53:11

Oracle截取某字段前后字符串的相关文章

oracle截取字段中的部分字符串

使用Oracle中Instr()和substr()函数: 在Oracle中可以使用instr函数对某个字符串进行判断,判断其是否含有指定的字符. 其语法为: instr(sourceString,destString,start,appearPosition). instr('源字符串' , '目标字符串' ,'开始位置','第几次出现') 其中sourceString代表源字符串: destString代表想聪源字符串中查找的子串: start代表查找的开始位置,该参数可选的,默认为1: ap

Oracle截取字符串和查找字符串,联合使用截取特定字符

oracle 截取字符(substr),检索字符位置(instr) case when then else end语句使用 收藏 常用函数:substr和instr1.SUBSTR(string,start_position,[length])    求子字符串,返回字符串解释:string 元字符串       start_position   开始位置(从0开始)       length 可选项,子字符串的个数For example:substr("ABCDEFG", 0); /

如何通过sql的insert语句插入大量字符串到oracle的clob字段?

当通过insert语句直接插入大量字符串(主要是html的内容),超过4000字符时候,就会报: ORA-01489: 字符串连接的结果过长 虽然字段是clob,足以存储,但是通过这种直接插入的时候,因为没有强制指定带插入字符串为clob类型, oracle会把插入的字符串作为 “字符串类型”处理,由于oracle有最大字符串限制(不超过4000个字符),所以会报错. 解决思路:指定待插入字符串类型为clob,可以使用过程或存储过程 例子: DECLARE REALLYBIGTEXTSTRING

Oracle截取字符串和查找字符串

oracle 截取字符(substr),检索字符位置(instr) case when then else end语句使用 收藏 常用函数:substr和instr1.SUBSTR(string,start_position,[length])    求子字符串,返回字符串解释:string 元字符串       start_position   开始位置(从0开始)       length 可选项,子字符串的个数For example:substr("ABCDEFG", 0); /

Oracle截取字符串的函数substr

Oracle截取字符串的函数substr substr Oracle中的截取字符串函数. 语法如下: substr( string, start_position, [ length ] ) 参数分析: string 字符串值 start_position 截取字符串的初始位置, Number型,start_position为负数时,表示从字符串右边数起. length 截取位数,Number型 其中,length为可选,如果length为空(即不填)则返回start_position后面的所有

oracle中如何判断一个字符串是否含有汉字

oracle中如何判断一个字符串是否含有汉字 一.1 BLOG文档结构图 一.2 前言部分 一.2.1 导读 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,~O(∩_∩)O~: ①全角字符的判断,或者是含有汉字的字符串的判断 本文如有错误或不完善的地方请大家多多指正,ITPUB留言或QQ皆可,您的批评指正是我写作的最大动力. 一.2.2 实验环境介绍 11.2.0.3  RHEL6.5 一.2.3 本文简介 看到网友问,怎么查询表中某个字段数据是不是包含了

解决比较Oracle中CLOB字段问题

解决比较Oracle中CLOB字段问题 Oracle中CLOB和BLOB字段虽说在开发中满足了存放超大内容的要求,但是在一些简单使用中确频频带来麻烦.CLOB中存放的是指针,并不能直接取到实际值.而SQLServer中的text字段就很方便,可以直接拿来与需要的字符串比对,象什么等于呀小于呀Like呀不在话下.可是换成Oracle就麻烦死了,要开辟一个缓存,把内容一段段读取出来后转换,难道写个where条件都这么复杂?经过多方寻求资料,终于发现一个方便简单的方法:利用dbms_lob 包中的方法

ORACLE常用数据库字段类型

ORACLE常用数据库字段类型 常用的数据库字段类型如下: 字段类型 中文说明 限制条件 其它说明 CHAR 固定长度字符串 最大长度2000 bytes VARCHAR2 可变长度的字符串 最大长度4000 bytes  可做索引的最大长度749 NCHAR 根据字符集而定的固定长度字符串 最大长度2000 bytes NVARCHAR2 根据字符集而定的可变长度字符串 最大长度4000 bytes DATE 日期(日-月-年) DD-MM-YY(HH-MI-SS) 经过严格测试,无千虫问题

Oracle中Null与空字符串' '的区别

含义解释: 问:什么是NULL? 答:在我们不知道具体有什么数据的时候,也即未知,可以用NULL,我们称它为空,ORACLE中,含有空值的表列长度为零. ORACLE允许任何一种数据类型的字段为空,除了以下两种情况: 1.主键字段(primary key), 2.定义时已经加了NOT NULL限制条件的字段 说明: 1.等价于没有任何值.是未知数. 2.NULL与0.空字符串.空格都不同. 3.对空值做加.减.乘.除等运算操作,结果仍为空. 4.NULL的处理使用NVL函数. 5.比较时使用关键