织梦做博客类网站,简述企业网站建设的目的有哪些,h5制作软件app,情侣做记录网站源码1、TRANSLATE
语法#xff1a;
TRANSLATE(string,from_str,to_str) 二、目的 返回将#xff08;所有出现的#xff09;from_str中的每个字符替换为to_str中的相应字符以后的string。TRANSLATE 是 REPLACE 所提供的功能的一个超集。如果 from_str 比 to_str 长#xff…1、TRANSLATE
语法
TRANSLATE(string,from_str,to_str) 二、目的 返回将所有出现的from_str中的每个字符替换为to_str中的相应字符以后的string。TRANSLATE 是 REPLACE 所提供的功能的一个超集。如果 from_str 比 to_str 长那么在 from_str 中而不在 to_str 中的额外字符将从 string 中被删除因为它们没有相应的替换字符。to_str 不能为空。Oracle 将空字符串解释为 NULL并且如果TRANSLATE 中的任何参数为NULL那么结果也是 NULL。 三、允许使用的位置 过程性语句和SQL语句。 四、示例 Sql代码 1. SELECT TRANSLATE(abcdefghij,abcdef,123456) FROM dual; 2. TRANSLATE ( 3. -------------- 4. 123456ghij 5. 6. SELECT TRANSLATE(abcdefghij,abcdefghij,123456) FROM dual; 7. TRANSL 8. ----------
9. 123456 2、replace与translate简要比较 replace字符串级别的代替 如SELECT REPLACE(acdd,cd,ef) FROM dual; →aefd translate字符级别的代替 如SELECT TRANSLATE(acdd,cd,ef) FROM dual; →aeff 分别详解 replace: 语法REPLACE ( char , search_string [, replacement_string] ) 解释repalce中每个search_string都被replacement_string所代替。 select replace(acdd,cd,ef) from dual;→ aefd 如果replacement_string为空或为NULL,那么所有的search_string都被移除。 select replace(acdd,cd,) from dual;→ad 如果search_string为null,那么就返回原来的char。 select replace(acdd,,ef) from dual;→acdd select replace(acdd,,) from dual;→acdd(也是两者都为空的情况) 解释这段指明了可以用的数据类型. This function provides functionality related to that provided by the TRANSLATE function. TRANSLATE provides single-character, one-to-one substitution. REPLACE lets you substitute one string for another as well as to remove character strings. 解释红色部分也是replace和translate的区别。 translate: 语法TRANSLATE ( char , from_string , to_string ) 解释Translate中每个from_string中的字符被to_string中相应的字符所代替。 select translate(acdd,cd,ef) from dual;→aeff 如果from_string比to_string长那么from_string中多余的字符将被移除。 select translate(acdd,acd,ef) from dual;→ef (a由e代替c由f代替,d就被移除) select translate(acdd,cda,ef) from dual;→eff(c由e代替d由f代替a就被移除) 如果to_string为空或者两者都为空那么返回char也为空。所以to_string不能为空。 select translate(acdd,cd,) from dual;→ (空) select translate(acdd,,) from dual;→(空) 实战 如何判断一个字符串是否是数字 解先转换由于to_string不能为空我们巧用#号代替 select translate(abc123,#1234567890.,#) from dual;→abc from_string中的#被to_string中的#代替但char中又没有#字符所以通过这一步躲开了to_string必须不为空的规则。然后后面的数字以及小数点都转换为空于是原来的字符串中只留下abc三个字符。 转换好后用nvl2判断即可 select nvl2(translate(abc123,#1234567890.,#),字符串,数字) from dual;→字符串 nvl2的作用就是NVL2 (expr1, expr2, expr3) -expr1不为NULL返回expr2为NULL返回expr3。这样我们就可以判断一个字符串是否是数字了