標籤:
1. Oracle的replace函數與translate函數
replace函數是在字串層級的代替,對應字串一一替換
SQL> SELECT REPLACE(‘accd‘,‘cd‘,‘ef‘) from dual; REPLACE(‘ACCD‘,‘CD‘,‘EF‘)-------------------------acef
translate函數是在字元層級的代替,對應字元一一替換 translate(expr,from_string,to_string)
SQL> select translate(‘acdd‘,‘cd‘,‘ef‘) from dual; TRANSLATE(‘ACDD‘,‘CD‘,‘EF‘)---------------------------aeff
translate函數在to_string位置為空白,則傳回值為空白
SQL> select translate(‘acdd‘,‘cd‘,‘‘) from dual; TRANSLATE(‘ACDD‘,‘CD‘,‘‘)-------------------------
translate中有#的特殊用法,以#開頭的表示所有字元
SQL> select translate(‘liyan4h123ui‘,‘#liyanhui‘,‘#‘) from dual; TRANSLATE(‘LIYAN4H123UI‘,‘#LIY------------------------------4123 SQL> select translate(‘liyan4h123ui‘,‘#liyanhui‘,‘#z‘) from dual; TRANSLATE(‘LIYAN4H123UI‘,‘#LIY------------------------------z4123 SQL> select translate(‘liyan4h123ui‘,‘#liyanhui‘,‘#zx‘) from dual; TRANSLATE(‘LIYAN4H123UI‘,‘#LIY------------------------------zx4123x SQL> select translate(‘asadad434323‘, ‘#0123456789‘,‘#‘) from dual; TRANSLATE(‘ASADAD434323‘,‘#012------------------------------asadad
------待續
常用Oracle函數記錄