数据库编程--translate的使用,--translate
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;
结果:这个不是数字
本站文章为和通数据库网友分享或者投稿,欢迎任何形式的转载,但请务必注明出处.
同时文章内容如有侵犯了您的权益,请联系QQ:970679559,我们会在尽快处理。