标签:oracle translate 数据库 select
1.translate语法
translate(string,from_str,to_str)
2.解释:
将string字符串中的存在的字符串from_str的每个字符从左到右替换成字符串to_str的对应的每个字符,如果没有对应上的则在string中会被替换为空。
区分大小写;
to_str不能为空;
例子1:
select translate(‘项目组24355translate‘,‘234‘,‘@#$‘) from dual;
------------------------------
项目组@$#55translate
**此时相当于@替换了2,#替换了3,$替换了4
如果from_str的长度大于to_str的长度,则没有对应上的在string中会被替换为空
例子2:
select translate(‘项目组24355translate‘,‘234项目组‘,‘@#$‘) from dual;
------------------------------
@$#55translate
**“项目组”三个字由于没有对应则在string中被删除了,或者说被替换成空了。
如果to_str的长度大于from_str的长度则没有任何影响,不会出现任何异常
例子3:
select translate(‘项目组24355translate‘,‘234‘,‘@#$sdfsdfsdf‘) from dual;
------------------------------
项目组@$#55translate
**结果没有影响
相关应用:
1.判断某一个字符串是否全部是数字
有时候在处理某个字段的时候,本质要求填写数字,由于历史数据填写的不够规范,导致许多带有中文或者英文的不合格的垃圾数据,怎么判断是否是数字呢?
使用replace+translate
begin
if replace(translate(‘项目组要求321789a8‘, ‘0123456789‘, ‘@‘), ‘@‘, ‘‘) is null then
dbms_output.put_line(‘这个是数字‘);
else
dbms_output.put_line(‘这个不是数字‘);
end if;
end;
结果:这个不是数字
1.translate语法
translate(string,from_str,to_str)
2.解释:
将string字符串中的存在的字符串from_str的每个字符从左到右替换成字符串to_str的对应的每个字符,如果没有对应上的则在string中会被替换为空。
区分大小写;
to_str不能为空;
例子1:
select translate(‘项目组24355translate‘,‘234‘,‘@#$‘) from dual;
------------------------------
项目组@$#55translate
**此时相当于@替换了2,#替换了3,$替换了4
如果from_str的长度大于to_str的长度,则没有对应上的在string中会被替换为空
例子2:
select translate(‘项目组24355translate‘,‘234项目组‘,‘@#$‘) from dual;
------------------------------
@$#55translate
**“项目组”三个字由于没有对应则在string中被删除了,或者说被替换成空了。
如果to_str的长度大于from_str的长度则没有任何影响,不会出现任何异常
例子3:
select translate(‘项目组24355translate‘,‘234‘,‘@#$sdfsdfsdf‘) from dual;
------------------------------
项目组@$#55translate
**结果没有影响
相关应用:
1.判断某一个字符串是否全部是数字
有时候在处理某个字段的时候,本质要求填写数字,由于历史数据填写的不够规范,导致许多带有中文或者英文的不合格的垃圾数据,怎么判断是否是数字呢?
使用replace+translate
begin
if replace(translate(‘项目组要求321789a8‘, ‘0123456789‘, ‘@‘), ‘@‘, ‘‘) is null then
dbms_output.put_line(‘这个是数字‘);
else
dbms_output.put_line(‘这个不是数字‘);
end if;
end;
结果:这个不是数字
数据库编程--translate的使用
标签:oracle translate 数据库 select
原文地址:http://blog.csdn.net/lishiyuzuji/article/details/42460429