oracle 截取数据的最后4位

如题 求高手指点

oracle 截取数据的最后4位可以使用substr函数,例如:

select substr('HelloWorld',-4,4) value from dual;

返回结果:orld

从后面倒数第4位开始往后取4个字符。


扩展资料

substr函数格式使用介绍   (俗称:字符截取函数):

格式1: substr(string string, int a, int b);

1、string 需要截取的字符串

2、a 截取字符串的开始位置(注:当a等于0或1时,都是从第一位开始截取)

3、b 要截取的字符串的长度

格式2:substr(string string, int a) ;

1、string 需要截取的字符串

2、a 可以理解为从第a个字符开始截取后面所有的字符串。

温馨提示:内容为网友见解,仅供参考
第1个回答  2019-08-14

1、在oracle中经常需要使用到截取字符串函数substr,语法:substr(str,num1,[num2]); 默认情况下都是只需要两个参数,它的意思是从第二个字符开始截取str字符串剩下所有的字符。

2、substr函数中第二个参数也可以是负数,是从str倒数第num1个字符的位置开始截取。

3、也可以同时使用三个数,它的使用是从num1开始截取str字符,截取num2个字符。如下图。

4、在同时使用三个参数的时候,第二个参数也可以是负数,它的使用就是从str倒数num1的位置的开始截取num2个字符。

5、从num位置开始截取str时,如果num2的参数比较大那么返回的结果也只是返回str从num位置开始最多的字符。

本回答被网友采纳
第2个回答  推荐于2017-04-22
substr(),截取时下标从0或1开始,substr()如果截取后几位可以设置负数
第3个回答  推荐于2018-02-27
SELECT substr('12345678', -4) FROM dual;本回答被网友采纳
第4个回答  2012-07-06
select substr(t.flowid,length(t.flowid)-3) from tablename t

oracle 截取数据的最后4位
oracle 截取数据的最后4位可以使用substr函数,例如:select substr('HelloWorld',-4,4) value from dual;返回结果:orld 从后面倒数第4位开始往后取4个字符。

SQL截取字符串后4位,JC-2013-0005然后将后四位按顺序修改为0001,0002,0...
里面的SUBSTR函数就不说了,然后截取的结果-4是你需要的记过,然后对这个结果进行字符串处理,就是要用到LPAD函数(我用的是oracl数据库,其它数据库的话会有个left和right函数来进行相应的处理,这里就以oracle为例),三个参数,第一个参数是你要处理的值,第二个参数表示最后的处理结果一共有几位...

oracle中 sql截取某个字符前面和后面的值
1、将新建好的表aaaa,填充需要查询的数据以"_"或者","为分隔符的两条数据。2、先挑ID为1的数据进行截取查询演示。3、如果已知截取字符的长度和特殊字符位置,就可以用substring()函数来从字符串的开始位置,截取到特殊字符出现的位置。4、使用charindex()函数来返回特殊字符出现的位置,查询结果及语句。

oracle 截取指定字符串后面的几位字符
WITH T AS (SELECT 'http:\/\/baidu.com\/new?word\/pid=1726378\/XXXX' STR FROM DUAL) SELECT SUBSTR(STR, INSTR(STR, 'pid=', 1) + 4 ,7) FROM T

在oracle数据库中截取一个表名下的几个字段?
(3)instr(R_DY_TEXT9,'patid')+6 这个是数组开头的位置,‘patid=’一共是六位,所以要加6 那么substr的截取长度就是instr(R_DY_TEXT9,';',1,7)-instr(R_DY_TEXT9,'patid')-6 合在一起就是(我写的没有试验过,可能需要一些微调(比如分号个数不对,截取开始位置不对,截取长度...

Oracle中如何截取字符串的后10位
1、使用Oracle语句 select substr('12345',greatest( -位数,-length('12345')),位数) from dual。输入后程序会自动截取该字符串的指定长度。2、表达式中的“位数”输入格式是数字形式。如截取后10位,则输入数字10,也可以使用这个语句 substr(字符串,截取开始位置,截取长度)。3、这个公式需要注意的是...

怎么查询oracle中最后几条的数据?
首先标识rownum列,然后取一个别名(必须),因为rownum必须是从1开始,所以必须取一个别名,然后按照倒叙排列,排列后最后几条就在前面了,你想查询几就再写一个rownum<=几就行了。上面的查法很麻烦,应该还有比较简单的查法,也想到了另一种可能,不过需要测试,这里没有测试环境,所以剩下的你自己...

Oracle 怎样提取除了最后三位以外数据
用substr函数,参数说明是:substr( string, start_position, [ length ] )如:substr('This is a test', 6, 2) would return 'is'substr('This is a test', 6) would return 'is a test'substr('TechOnTheNet', 1, 4) would return 'Tech'...

oracle 用SQl语句截取最后一个“\\”后面的内容
select substr('C:\\Documents and Settings\\sytl\\桌面\\各部门反馈\\条线分册-财务部.xls',instr('C:\\Documents and Settings\\sytl\\桌面\\各部门反馈\\条线分册-财务部.xls','\\',-1,1)+1) from dual 这个绝对可以!

请教ORACLE中如何截取字段的某几位
Oracle提前某数据的前几位用substr函数。如test表中数据如下:现要提取dept字段中的前两位,可用如下语句:1 select id,name,substr(dept,1,2) from test;结果:substr函数介绍:语法:substr(string,start,length)参数:string - 指定的要截取的字符串 start - 必需,规定在字符串的何处开始 正数 -...

相似回答