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

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐