简要斗劲: replace:字符串级此外庖代' S8 @% K/ M+ z
如:SELECT REPLACE('acdd','cd','ef') FROM dual; →aefd
3 [; u# S& f, c1 M translate:字符级此外庖代) `6 R( D, }2 X% s/ Q: e
如:SELECT TRANSLATE('acdd','cd','ef') FROM dual; →aeff* ~- E4 A' g4 F2 ? l+ S: b3 {7 \
分袂详解:
+ H ^ d3 o8 { replace:
a b5 C6 `: K+ O* `$ ^ 语法:REPLACE ( char , search_string [, replacement_string] )% {5 C: u4 z4 N9 [. t4 W
诠释:repalce中,每个search_string都被replacement_string所庖代。
3 c ^% H1 l1 E2 d: c2 I) S+ g select replace('acdd','cd','ef') from dual;→ aefd
% A( Z- W2 Y( Q L3 G 如不美观replacement_string为空或为NULL,那么所有的search_string都被移除。
' P6 M6 D3 V+ a' `# k. @# u select replace('acdd','cd','') from dual;→ad
, ?8 a0 v2 m. `+ w4 y' R 如不美观search_string为null,那么就返回原本的char。
1 G' [* Y1 w, Y p& m select replace('acdd','','ef') from dual;→acdd
8 y2 @6 j* x% H8 e, w j1 y select replace('acdd','','') from dual;→acdd(也是两者都为空的情形)
; t C6 ]9 I: t* s6 K T2 r% d8 T translate:
$ |/ P9 F+ p' E' q3 Z 语法:TRANSLATE ( 'char' , 'from_string' , 'to_string' )' p' e& @3 E7 M/ _
诠释:Translate中,每个from_string中的字符被to_string中响应的字符所庖代。
. n) o. M6 [5 Q5 y select translate('acdd','cd','ef') from dual;→aeff
6 w% A& A9 v/ p \ 如不美观from_string比to_string长,那么from_string中多余的字符将被移除。; u/ ]9 H9 y7 H1 Q* L3 V/ x
select translate('acdd','acd','ef') from dual;→ef (a由e庖代,c由f庖代,d就被移除)9 {' |& ^8 E# H& [
select translate('acdd','cda','ef') from dual;→eff(c由e庖代,d由f庖代,a就被移除)# ?$ ]) O& ?! H; Y7 M# k9 F. G- s
如不美观to_string为空,或者两者都为空,那么返回char也为空。所以to_string不能为空。
% C7 d4 U% c5 C9 [% G3 Y6 Y% t select translate('acdd','cd','') from dual;→ (空)7 X) V. }3 t D7 W. y8 `, D
5 N- e. h8 Y5 G. U select translate('acdd','','') from dual;→(空) |