1.translate
語法:translate(char, from, to)
用法:返回將出現在from中的每個字元替換為to中的相應字元以後的字串。
若from比to字串長,那麼在from中比to中多出的字元將會被刪除。
三個引數中有乙個是空,返回值也將是空值。
舉例:sql> select translate('abcdefga','abc','wo') 返回值 from dual;
返回值-------
wodefgw
分析:該語句要將'abcdefga'中的'abc'轉換為'wo',
由於'abc'中'a'對應'wo'中的'w',
故將'abcdefga'中的'a'全部轉換成'w';
而'abc'中'b'對應'wo'中的'o',
故將'abcdefga'中的'b'全部轉換成'o';
'abc'中的'c'在'wo'中沒有與之對應的字元,
故將'abcdefga'中的'c'全部刪除;
簡單說來,就是將from中的字元轉換為to中與之位置對應的字元,
若to中找不到與之對應的字元,返回值中的該字元將會被刪除。
在實際的業務中,可以用來刪除一些異常資料,
比如表a中的乙個欄位t_no表示**號碼,
而**號碼本身應該是乙個由數字組成的字串,
為了刪除那些含有非數字的異常資料,
就用到了translate函式:
sql> delete from a,
where length(translate(trim(a.t_no),
'0123456789' || a.t_no,
'0123456789')) <> length(trim(a.t_no));
2.replace
語法:replace(char, search_string,replacement_string)
用法:將char中的字串search_string全部轉換為字串replacement_string。
舉例:sql> select replace('fgsgswsgs', 'fk' ,'j') 返回值 from dual;
返回值---------
fgsgswsgs
sql> select replace('fgsgswsgs', 'sg' ,'eeerrrttt') 返回值 from dual;
返回值-----------------------
fgeeerrrtttsweeerrrttts
分析:第乙個例子中由於'fgsgswsgs'中沒有與'fk'匹配的字串,
故返回值仍然是'fgsgswsgs';
第二個例子中將'fgsgswsgs'中的字串'sg'全部轉換為'eeerrrttt'。
總結:綜上所述,replace與translate都是替代函式,
只不過replace針對的是字串,而translate針對的是單個字元。
replace 和TRANSLATE 函式的對比
translate string,from str,to str 返回將 所有出現的 from str中的每個字元替換為to str中的相應字元以後的string。translate 是 replace 所提供的功能的乙個超集。如果 from str 比 to str 長,那麼在 from str ...
translate和position的比較
有很多css屬性可以影響元素定位,比如float,margin,padding,position,translate 表面上來看,position relatative和transform translate 似乎作用一致,但其實他們之間也有幾個差別,本篇文章就將比較這兩個屬性。1.瀏覽器支援情況 ...
java string 字串替換 replace
i replace方法 該方法的作用是替換字串中所有指定的字元,然後生成乙個新的字串。經過該方法呼叫以後,原來的字串不發生改變。例如 string s abcat string s1 s.replace a 1 該 的作用是將字串s中所有的字元a替換成字元1,生成的新字串s1的值是 1bc1t 而字...