Die Ersetzungsfunktionen von Oracle sind: 1. Funktion „translate()“, Syntax „TRANSLATE(char, from, to)“; 2. Funktion „replace()“, Syntax „REPLACE (string, search value, replacement value)“.
Die Betriebsumgebung dieses Tutorials: Windows 7-System, Oracle 11g-Version, Dell G3-Computer.
Funktion ersetzen und Funktion in Oracle übersetzen
1.translate
Syntax: TRANSLATE(char, from, to)
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)
SQL> select REPLACE('fgsgswsgs', 'fk' ,'j') 返回值 from dual;Rückgabewert
fgsgswsgsAnalyse: Diese Anweisung dient dazu, das „abc“ in „abcdefga“ in „wo“ umzuwandeln, da das „a“ in „abc“ dem „w“ in entspricht 'wo' ', also werden alle 'a's in 'abcdefga' in 'w' umgewandelt Und das 'b' in 'abc' entspricht dem 'o' in 'wo', also alle 'b's in '; „abcdefga“ wird in „o“ umgewandelt;
SQL> select REPLACE('fgsgswsgs', 'sg' ,'eeerrrttt') 返回值 from dual;
REPLACE(char, search_string,replacement_string)
Beispiel 1: 🎜fgeeerrrtttsweeerrrttts🎜Rückgabewert 🎜rrreee🎜Beispiel 2: 🎜rrreee🎜Rückgabewert 🎜rrreee🎜Analyse: 🎜🎜🎜🎜Im ersten Beispiel gibt es keine Zeichenfolge, die mit „fk“ übereinstimmt gsgswsgs', Daher , der Rückgabewert ist immer noch „fgsgswsgs“; 🎜🎜🎜🎜Im zweiten Beispiel wird die gesamte Zeichenfolge „sg“ in „fgsgswsgs“ in „eeerrrttt“ konvertiert. 🎜🎜🎜🎜Zusammenfassung: Zusammenfassend sind „replace“ und „translate“ beide Ersetzungsfunktionen, mit der Ausnahme, dass „replace“ auf eine Zeichenfolge abzielt, während „translate“ auf ein einzelnes Zeichen abzielt. 🎜🎜Empfohlenes Tutorial: „🎜Oracle Tutorial🎜“🎜
Das obige ist der detaillierte Inhalt vonWelche Ersetzungsfunktionen gibt es in Oracle?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!