Oracle提取某段数据的前几位

把Oracle数据中的某个字段的数据A13/JLB01.P003
A13/JLB01.P004
A13/JLB01.P005
取这段数据的前就为,并且把/改为.怎么写语句,具体点,多谢

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

如test表中数据如下:

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

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

结果:

substr函数介绍:

语法:

substr(string,start,length)

参数:

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

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

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

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

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

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

温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-05-11
用substr

select substr(字符串,第一个位置,截取长度) from dual

test :
select substr('A13/JLB01.P004',1,3) from dual

结果: A13
第2个回答  2010-05-11
select replace(substr(字段,1,9),‘/’,'.') from 表本回答被提问者采纳
第3个回答  2010-05-11
游标取出字段,substr取要取的位数。
select substr('A13/JLB01.P005',1,3) from dual
第4个回答  2010-05-11
select substr(字段名,1,3)||‘.’||substr(字段名,5,5) from tablename