//oracle截取某个字段某个位置后面的所有字符信息 selectsubstr(t1.book_id,35) from t_data_temp_identifier2 t1 //oracle截取某个字段从起始位置到指定的位置字符信息 select substr(t1.book_id,0,20)...
//oracle截取某个字段某个位置后面的所有字符信息
selectsubstr(t1.book_id,35)fromt_data_temp_identifier2t1
//oracle截取某个字段从起始位置到指定的位置字符信息
select substr(t1.book_id,0,20)fromt_data_temp_identifier2t1
oracle获取系统当前月份的上一个月第一天和最后一天
select to_date(to_char(add_months(sysdate,-1),'yyyy-mm')||'-01','yyyy-mm-dd') firstday,to_date(to_char(last_day(add_months(sysdate,-1)),'yyyy-mm-dd'),'yyyy-mm-dd') lastday from dual
select to_char(sysdate,'yyyy-mm')||'-01' firstday,to_char(last_day(sysdate),'yyyy-mm-dd') lastday from dual
昨天在工作中遇到了截取字符串问题的...(1)从字符串左边某一个位置截取到其后面多少位:SELECT SUBSTR('abcdefghijklmn',2,3) FROM dual (2)从字符串左边某一个位置(包括一位)截取到最后:SELECT SUBSTR('abc
昨天在工作中遇到了截取字符串问题的,特地的学习了一下substr函数,在此做个记录:
1、截取不带特殊字段的某一个特定字符串:
(1) 从字符串左边某一个位置截取到其后面多少位:SELECT SUBSTR('abcdefghijklmn',2,3) FROM dual
(2)从字符串左边某一个位置(包括一位)截取到最后:SELECT SUBSTR('abcdefghijklmn',3) FROM dual
(3)从字符串右边某一个位置向左截取多少位:SELECT SUBSTR('abcdefghijklmn',-3,3) FROM dual
(4)从字符串右边某一个位置(包括一位)向左截取多少位:SELECT SUBSTR('abcdefghijklmn',-4) FROM dual
2、以某一个特殊字段作参考,截取数据:
(1)含有多个特定字符,截取其中一个字符后的数据:
select substr('SSOC-DSWB-13-001', instr('SSOC-DSWB-12-001', '-', 1,1) +1) from dual
--解析:彩色背景的参数值,控制从第几个特殊字符位置截取;红色字体的数字代表从第几位开始截取。即:从第一个‘-’后第一位开始截取
select substr('SSOC-DSWB-13-001', instr('SSOC-DSWB-12-001', '-', 1,1) +2) from dual
--解析:彩色背景的参数值,控制从第几个特殊字符位置截取;红色字体的数字代表从第几位开始截取。即:从第一个‘-’后第二位开始截取
(2)截取特殊字段前的字符串:SELECT substr('abcdef-ghijklmn',1,instr('abcdef-ghijklmn','-')-1) from dual
(3)截取特殊字段后的字符串:SELECT substr('abcd-efghijklmn',instr('abcd-efghijklmn','-')+1,length('abcd-efghijklmn')-instr('abcd-efghijklmn','-')) from dual
1、字符串截取:substr substr(string, start_position, [length]),其中,string是元字符串,start_position为开始位置(注意首位从0开始),length是可选项,表示子字符串的位数。 eg 1、substr('ABCDEFG', 0); ...
1、字符串截取:substr
substr(string, start_position, [length]),其中,string是元字符串,start_position为开始位置(注意首位从0开始),length是可选项,表示子字符串的位数。
eg 1、substr('ABCDEFG', 0); -- 返回结果是:ABCDEFG,从0位开始截取后面所有。
eg 2、substr('ABCDEFG', 2); -- 返回结果是:CDEFG,从2位开始截取后面所有。
eg 3、substr('ABCDEFG', 0, 3); -- 返回结果是:ABC,从0位开始往后截取3个字符长度。
eg 4、substr('ABCDEFG', 0, 100); -- 返回结果是:ABCDEFG,虽然100超出了元字符串长度,但是系统会按元字符串最大数量返回,不会影响返回结果。
eg 5、substr('ABCDEFG', -3); -- 返回结果是:EFG,如果是负数,则从尾部往前数,截取-3位置往后的所有字符串。
2、字符串查找:instr
instr(string, subString, [start_position], [nth_appearance])
其中,string是元字符串;subString是要查找的子字符串;start_position是要查找的开始位置,为可选项(默认为1),如果此参数为正,则从左到右检索,如果此参数为负,则从右到左检索;nth_appearance是元字符串中第几次出现的子字符串,此参数可选,缺省默认为1,如果是负数则系统报错。返回结果为子字符串最后一个字符在元字符串中的位子。
eg 1、instr('ABCDABCDAEF', 'AB'); -- 返回结果是:1,因为instr字符串索引从0开始。
eg 2、instr('ABCDABCDAEF', 'DA', 1, 2); -- 返回结果是:8,返回第二次出现'DA'的位置。
3、替换字符串:replace
replace(str1, str2, str3)
其表示的意思是:在str1中查找str2,凡是出现str2的地方,都替换成str3。
eg 1、replace('ABCDEFG', 'ABC', 'abc'); -- 返回结果是:abcDEFG。
eg 2、replace('ABCDEFG', 'ABC', ''); -- 返回结果是:CDFG,ABC被替换成空字符。
eg 3、replace('ABCDEFG', 'ABC'); -- 返回结果是:CDFG,当不存在第三个参数时,ABC直接被删掉,类似于第二种效果。
1、字符串截取 substr(‘数据’,开始位置,截止位置); select substr('abcdef',1,3) from dual 2、查找子串的位置 instr(‘数据’,‘字符’); 他是从左向右来寻找的,寻找的最近的。 select instr('abcfdgfdhd','fd...

1、字符串截取

substr(‘数据’,开始位置,截止位置);
select substr('abcdef',1,3)from dual

2、查找子串的位置

instr(‘数据’,‘字符’);
他是从左向右来寻找的,寻找的最近的。
select instr('abcfdgfdhd','fd')from dual

3、substr和instr配合使用

求小数点后面的数
select substr('11.21',instr('11.21','.')+1)from dual
(1)oracle中实现截取字符串:substr substr(string, start_position, [length]) 其中,string是元字符串,start_position为开始位置,length是可选项,表示子字符串的位数。 例子: substr('ABCDEFG', 0); -- ...
场景:用户需要从memo字段中获取,实时扣款:后的扣款...2.截取实时扣款以及后面一小串 case when instr(memo,‘实时扣款’)>0 then substr(memo,instr(memo,‘实时扣款’),15) when instr(memo,‘划扣’)>0 t...
--字符串从后面取三个 select Name,substr(Name,-3,3),length(Name) 串长度 from t1; SELECT ASCII('A'),ASCII('B') from dual; select CHR(100),CHR(80) from dual; select CONCAT(CHR(65),CONCAT(CHR(67),CHR(98))...
--【字符串函数】 --字符串截取substr(字段名,起始点,个数) select Name,substr(Name,2,4),substr(Name,0,3),substr(Name,-2,3),substr(Name,-2,1) from t1; --字符串从前面取三个(0...--字符串从后面取三个...
1. substr函数使用 1.1 substr函数格式 (俗称:字符截取函数) 格式1: substr(string string, int a, int b); 格式2:substr(string string, int a...2、a 可以理解为从第a个字符开始截取后面所有的字符串。 注:https:
(1)oracle中实现截取字符串:substr substr(string, start_position, [length]) 其中,string是元字符串,start_position为开始位置,length是可选项,表示子字符串的位数。 例子: substr('ABCDEFG', 0); -- ...
varchar2	1~4000字节	可变长度字符串,与CHAR类型相比,使用VARCHAR2可以节省磁盘空间,但查询效率没有char类型高 数值类型	Number(m,n)	m(1~38) n(-84~127)	可以存储正数、负数、零、定点数和精度为38位的浮点数...
--【字符串函数】--字符串截取substr(字段名,起始点,个数)select Name,substr(Name,2,4),substr(Name,0,3),substr(Name,-2,3),substr(Name,-2,1) from t1; --字符串从前面取三个(0...--字符串从后面取三个select...
字符函数 1、upper(String):将小写...5、substr(String,start,count):截取字符串(start和count均为数字;若start为负数,则表示从后面开始 数起。