translate renvoie expr, dans lequel toutes les occurrences de chaque caractère dans from_string sont remplacées par les caractères correspondants dans to_string, et la fonction de remplacement convertit toute la chaîne search_string dans char en chaîne remplacement_string. Cet article partagera avec vous la traduction dans. Oracle Jetons un coup d'œil à l'utilisation de la fonction et remplaçons la fonction. J'espère que cela pourra aider tout le monde.
syntaxe de la fonction de traduction :
translate(expr, from_strimg, to_string)
Introduction :
translate renvoie expr où toutes les occurrences de chaque caractère dans from_string sont remplacées par le caractère correspondant dans to_string. Les caractères dans expr qui ne sont pas dans from_string ne seront pas remplacés. Si expr est une chaîne, vous devez la mettre entre guillemets simples. Les arguments de from_string peuvent contenir plus de caractères que to_string. Dans ce cas, les caractères supplémentaires à la fin de from_string n'ont aucun caractère correspondant dans to_string. Si ces caractères supplémentaires apparaissent dans caractère, ils sont supprimés de la valeur de retour.
Vous ne pouvez pas utiliser la chaîne vide de to_string pour supprimer tous les caractères de from_string de la valeur de retour. Oracle Database interprète les chaînes vides comme nulles et si cette fonction a des paramètres vides, null est renvoyé.
translate fournit des fonctions liées à la fonction de remplacement. replace vous permet de remplacer une chaîne par une autre, ainsi que de supprimer des chaînes. traduire vous permet d'effectuer plusieurs remplacements d'un seul caractère, un à un, en une seule opération.
Cette fonction ne prend pas directement en charge les données CLOB. Cependant, les CLOB peuvent être transmis en tant que paramètres avec conversion de données implicite.
Exemple :
L'instruction suivante convertit une phrase en chaîne avec des délimiteurs de soulignement. from_string contient quatre caractères : signe dièse, signe dollar, espace, astérisque. to_string ne contient qu'un seul symbole @ et deux traits de soulignement. Cela laisse le quatrième caractère de from_string sans remplacement correspondant, donc l'astérisque est supprimé de la valeur renvoyée.
SELECT TRANSLATE('itmyhome#163.com$is my* email', '#$ *', '@__') from dual ---------- itmyhome@163.com_is_my_email
fonction de remplacement
Syntaxe :
REPLACE(char, search_string,replacement_string)
Utilisation :
Convertissez toute la chaîne search_string en char en chaîne remplacement_string.
Exemple :
SQL> select REPLACE('fgsgswsgs', 'fk' ,'j') 返回值 from dual; 返回值 --------- fgsgswsgs SQL> select REPLACE('fgsgswsgs', 'sg' ,'eeerrrttt') 返回值 from dual; 返回值 ----------------------- fgeeerrrtttsweeerrrttts
Analyse :
Non . Dans un exemple, parce que la chaîne qui ne correspond pas au « fk » dans « FGSGSWSGS »,
La valeur de retour est toujours « fgsgswsgs » ; la chaîne « sg » est entièrement convertie en « eeerrrttt ».
Résumé : Pour résumer, remplacer et traduire sont tous deux des fonctions de substitution,
C'est juste que le remplacement est destiné aux chaînes, tandis que la traduction est destinée à un seul caractère. La différence entre
et la fonction de remplacement
select translate('itmyhome#163%com', '#%', '@.') from dual; select replace('itmyhome#163%com', '#%', '@.') from dual; --------- itmyhome@163.com itmyhome#163%com
La fonction de traduction ci-dessus est # est remplacé par @, % est remplacé par .
Cependant, remplacer n'obtient pas cet effet car la combinaison globale de #% n'est pas trouvée
Recommandations associées :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!