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