oracle中截取后几位用法及详解:

写法如下:

select substr('截取的字段',greatest( -位数,-length('截取的字段')),位数) from dual;

解释:

函数greatest,中文意思是最好的,最大的等等,取最大值

Select greatest(1,2,5,4,3) from dual; ---->5

Substr函数的用法,substr是截取的意思:

Substr(name,a,b)-->name 是需要截取的字段,a是开始的位置,0是从头开始,-1是从最后开始以此类推,b是截取的长度

函数length,中文意思是长度,它是用来获取字符串的长度的​。

select length('abcdef') from dual ​; ----> 6

例子:

select substr(t.b_name,greatest(-4,-length(t.b_name)),4)  from xir_md.tbnd t where t.i_code = '1081365'

说明:首先确定截取后几位,得到函数substr(name, 这里确定从哪里开始截取,取后几位的长度与总的长度进行比较我们取较大的值即可,位数)

posted @ 2020-06-09 18:12  struggle_新  阅读(18873)  评论(1编辑  收藏  举报