oracle截取字段中某部分数据

转自:https://blog.csdn.net/weixin_43121766/article/details/82350997

转自:http://www.itpub.net/thread-1690590-1-1.html

Oracle提前某数据的 前几位或后几位 用substr函数。

如test表中数据如下:

现要提取dept字段中的前两位,可用如下语句:

select id,name,substr(dept,1,2) from test; 
结果:

substr函数介绍: 
语法:

substr(string,start,length) 
参数:

string - 指定的要截取的字符串

start - 必需,规定在字符串的何处开始

正数 - 在字符串的指定位置开始

负数 - 在从字符串结尾的指定位置开始

0 - 在字符串中的第一个字符处开始

length - 可选,指定要截取的字符串长度,缺省时返回字符表达式的值结束前的全部字符。

 

去掉后几位:

SELECT SUBSTR(NAME,1,(LENGTH(NAME)-LENGTH('你想去掉的字符串'))) T FROM T1 WHERE 关联条件;
我测试如下
SELECT SUBSTR(NAME,1,(LENGTH(NAME)-LENGTH('HIJK'))) T FROM T1 WHERE VL =10;
-------
ABCDEFG
select * from t1 where vl =10;
--------
ABCDEFGHIJK 10

你可能感兴趣的:(小技巧)