简要斗劲: replace:字符串级此外庖代& C; h. b9 Y3 }4 u
如:SELECT REPLACE('acdd','cd','ef') FROM dual; →aefd
5 L: i& d. U6 C5 |+ b translate:字符级此外庖代$ Q! N# \" Y% D2 \6 L5 o
如:SELECT TRANSLATE('acdd','cd','ef') FROM dual; →aeff9 y: h( G7 t" x) ?- d! M
分袂详解:1 {% G, E$ z# S, F5 [7 A8 ?2 D
replace:. C6 N, ]. {8 K
语法:REPLACE ( char , search_string [, replacement_string] )
2 m! t# q' r1 x+ l# e: d# W0 D# X" H 诠释:repalce中,每个search_string都被replacement_string所庖代。
2 E) Z( n* b1 n" _ select replace('acdd','cd','ef') from dual;→ aefd
) j4 \5 w- P- R2 K 如不美观replacement_string为空或为NULL,那么所有的search_string都被移除。
" O# d/ q9 l- L% |4 G select replace('acdd','cd','') from dual;→ad
3 Z) i+ g1 O# Y% m 如不美观search_string为null,那么就返回原本的char。6 s' f8 ?$ U6 J0 |- K8 l
select replace('acdd','','ef') from dual;→acdd1 h+ h o- o. U9 V, n! H+ v
select replace('acdd','','') from dual;→acdd(也是两者都为空的情形)
F6 l! J" [5 T% p& i* y% ^/ O translate:
7 x* t, Z/ z4 ~/ u* B3 I 语法:TRANSLATE ( 'char' , 'from_string' , 'to_string' )
# @& t% j: w6 r( |& M 诠释:Translate中,每个from_string中的字符被to_string中响应的字符所庖代。* w% a+ B. W! c
select translate('acdd','cd','ef') from dual;→aeff
: @6 r$ n G( V; B 如不美观from_string比to_string长,那么from_string中多余的字符将被移除。4 `- _. x) Q2 W) \: T- g& c
select translate('acdd','acd','ef') from dual;→ef (a由e庖代,c由f庖代,d就被移除)9 R$ }7 b7 J+ b1 z
select translate('acdd','cda','ef') from dual;→eff(c由e庖代,d由f庖代,a就被移除)' \% V' V6 J) r, i* \4 c0 X) {
如不美观to_string为空,或者两者都为空,那么返回char也为空。所以to_string不能为空。
3 Q4 v- `* x- I* o+ Z9 O5 u' \ select translate('acdd','cd','') from dual;→ (空)
+ u7 C4 {. J5 Q" o
, n3 q. z+ d9 [ select translate('acdd','','') from dual;→(空) |