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
相似回答