2023年11月21日 10:05:22
1.translate
語法:translate(char, from, to)
用法:返回將出現在from中的每個字元替換為to中的相應字元以後的字串。
若from比to字串長,那麼在from中比to中多出的字元將會被刪除。
三個引數中有乙個是空,返回值也將是空值。
舉例:
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函式:
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。
舉例:
select replace('fgsgswsgs', 'fk' ,'j') 返回值 from dual;
返回值
---------
fgsgswsgs
select replace('fgsgswsgs', 'sg' ,'eeerrrttt') 返回值 from dual;
返回值
-----------------------
fgeeerrrtttsweeerrrttts
分析:第乙個例子中由於』fgsgswsgs』中沒有與』fk』匹配的字串,
故返回值仍然是』fgsgswsgs』;
第二個例子中將』fgsgswsgs』中的字串』sg』全部轉換為』eeerrrttt』。
總結:綜上所述,replace與translate都是替代函式,
只不過replace針對的是字串,而translate針對的是單個字元。
ORCALE字元函式
lpad 在oracle plsql中,lpad函式將左邊的字串填充一些特定的字元,其語法格式如下 lpad string1,padded length,pad string 其中string1是需要貼上字元的字串 padded length是返回的字串的數量,如果這個數量比原字串的長度要短,lpa...
str replace 替換函式
定義 str replace 函式以其他字元替換字串中的一些字元 區分大小寫 規則 1 如果搜尋的字串是陣列,那麼它將返回陣列。2 如果搜尋的字串是陣列,那麼它將對陣列中的每個元素進行查詢和替換。3 如果同時需要對陣列進行查詢和替換,並且需要執行替換的元素少於查詢到的元素的數量,那麼多餘元素將用空字...
orcale資料恢復
恢復已刪除的表 select from aak file drop table aak file select from recyclebin where original name aak file flashback table aak file to before drop desc aak ...