我拿到一份数据,数据里面物料名称和规格是混在一起的(在同一个字段内),如:螺钉M5,轴承K100,现在我想把名称和规格分开,放到两个不同的字段里面,也就是把中文字符放在一个字段内,非中文字符放在一个字段内,不知道有没有相关的语句.这是小弟全部的分了,还望各位大侠不吝赐教~~
解决方案 »
- 请教一个异常:ORA-03113: 通信通道的文件结束
- oracle使用exp导出文件出现错误,求解?
- pl/sql里定义一个指针,select一个自定义的function,结果报字符溢出
- 在线等,char型数据可以用大于小于进行区间断开吗?
- 如果设置OPTIMIZER_MODE=choose,oracle根据什么来决定是用all_rows还是first_rows来做执行计划?多谢各位指点迷津
- 并发问题
- 主键 。。。外键。。。问题。急救!!~~~
- 求救!在oracle中,如何对substr(str,m,n)以后的字段建索引。谢谢!
- 请教:如何获得前一条update或者delete语句影响的记录数?
- 为何插入含有BLOB字段的纪录就没有相应?
- 关于oracle查询结果日期的优化,在线等,急!!!
- 新手请教,oracle创建表的问题
铆螺母M4X14X120
气撑杆082500282
滚动轴承2201
螺母GUK/45X1.5
-提取汉字
create or replace function get_chinese_fun( v_inputchar varchar2)
return varchar2
as
v_outchar varchar2(200):=v_inputchar;
begin
for i in 32..126
loop
v_outchar:=replace(v_outchar,chr(i),'');
end loop;
return v_outchar;
end;
--提前非汉字(非汉字为半角的)
create or replace function get_ex_chinese_fun(v_inputchar varchar2)
return varchar2
as
v_outchar varchar2(200):='';
v_len number;
v_charascii number;
begin
select length(v_inputchar) into v_len from dual;
for i in 1..v_len
loop
v_charascii:=ascii(substr(v_inputchar,i,1));
if v_charascii>=32 and v_charascii<=126 then
v_outchar:=v_outchar||substr(v_inputchar,i,1);
end if;
end loop;
return v_outchar;
end;