Maison > base de données > Oracle > le corps du texte

Oracle supprime la chaîne

WBOY
Libérer: 2023-05-11 10:24:07
original
2554 Les gens l'ont consulté

Dans la base de données Oracle, il est parfois nécessaire de supprimer une certaine partie d'une chaîne, comme par exemple supprimer des caractères spécifiques dans une chaîne, supprimer des espaces avant et après une chaîne, etc. Cet article explique comment supprimer des chaînes dans Oracle.

  1. Supprimer les caractères spécifiés d'une chaîne

Dans Oracle, vous pouvez utiliser la fonction REPLACE pour supprimer les caractères spécifiés d'une chaîne. La fonction REPLACE permet à l'utilisateur de remplacer tous certains caractères d'une chaîne par une autre chaîne.

La syntaxe est la suivante :

REPLACE(string, old_string, new_string)
Copier après la connexion

Parmi eux, string est la chaîne à remplacer, old_string est le caractère à remplacer et new_string est le caractère remplacé.

Par exemple, pour supprimer le caractère "c" de la chaîne "abcde", vous pouvez utiliser l'instruction suivante :

SELECT REPLACE('abcde', 'c', '') FROM dual;
Copier après la connexion

Le résultat de l'instruction ci-dessus est "abde".

  1. Supprimer les espaces avant et après une chaîne

Dans Oracle, vous pouvez utiliser la fonction TRIM pour supprimer les espaces avant et après une chaîne. La fonction TRIM peut être utilisée pour supprimer des espaces d'une chaîne spécifiée ou pour supprimer des espaces des deux côtés d'une chaîne.

La syntaxe est la suivante :

TRIM([LEADING | TRAILING | BOTH] [trim_string] FROM string)
Copier après la connexion

Parmi eux, LEADING signifie supprimer les espaces à gauche, TRAILING signifie supprimer les espaces à droite et BOTH signifie supprimer les espaces des deux côtés en même temps. trim_string peut spécifier la chaîne à supprimer Si elle n'est pas spécifiée, les espaces seront supprimés par défaut.

Par exemple, pour supprimer les espaces avant et après la chaîne "abcde", vous pouvez utiliser l'instruction suivante :

SELECT TRIM('   abcde  ') FROM dual;
Copier après la connexion

Le résultat de l'instruction ci-dessus est "abcde".

  1. Supprimer les lettres et les chiffres d'une chaîne

Dans Oracle, vous pouvez utiliser la fonction REGEXP_REPLACE pour supprimer les lettres et les chiffres d'une chaîne. Cette fonction permet à l'utilisateur de remplacer des caractères dans une chaîne à l'aide d'expressions régulières.

La syntaxe est la suivante :

REGEXP_REPLACE(string, pattern, '')
Copier après la connexion

Parmi eux, string est la chaîne à remplacer, pattern est l'expression régulière à faire correspondre, et le troisième paramètre est le caractère remplacé, voici la chaîne vide.

Par exemple, pour supprimer toutes les lettres et tous les chiffres de la chaîne "a1b2c3d4e5", vous pouvez utiliser l'instruction suivante :

SELECT REGEXP_REPLACE('a1b2c3d4e5', '[[:alpha:][:digit:]]', '') FROM dual;
Copier après la connexion

Le résultat de l'instruction ci-dessus est "".

  1. Supprimer les caractères chinois d'une chaîne

Dans Oracle, vous pouvez utiliser la fonction NLSSORT et la fonction REGEXP_REPLACE pour supprimer les caractères chinois d'une chaîne.

La syntaxe est la suivante :

Copier après la connexion
Copier après la connexion

Par exemple, pour supprimer les caractères chinois dans la chaîne "abc Chinese def", vous pouvez utiliser l'instruction suivante :

Copier après la connexion
Copier après la connexion

Le résultat de l'instruction ci-dessus est "abcdef".

  1. Supprimer les balises HTML des chaînes

Dans Oracle, vous pouvez utiliser la fonction DBMS_XMLGEN et la fonction REGEXP_REPLACE pour supprimer les balises HTML des chaînes.

La syntaxe est la suivante :

REGEXP_REPLACE(DBMS_XMLGEN.getXMLType(string).getStringVal(), '<[^>]+>', '')
Copier après la connexion

Parmi eux, string est la chaîne à remplacer, DBMS_XMLGEN.getXMLType(string).getStringVal() convertit la chaîne en type XMLType, <1+> une expression régulière qui correspond à toutes les balises HTML.

Par exemple, pour supprimer toutes les balises de la chaîne HTML suivante :

<body>
  <div class="container">
    <h1>Hello world!</h1>
    <p>This is a paragraph.</p>
  </div>
</body>
Copier après la connexion

, vous pouvez utiliser l'instruction suivante :

SELECT REGEXP_REPLACE(DBMS_XMLGEN.getXMLType('<body><div class="container"><h1>Hello world!</h1><p>This is a paragraph.</p></div></body>').getStringVal(), '<[^>]+>', '') FROM dual;
Copier après la connexion

Le résultat de l'instruction ci-dessus est "Bonjour tout le monde ! Ceci est un paragraphe.".

Résumé

Cet article explique comment supprimer des chaînes dans Oracle. Qu'il s'agisse de supprimer des caractères spécifiés, de supprimer des espaces, de supprimer des lettres et des chiffres, de supprimer des caractères chinois ou de supprimer des balises HTML, Oracle fournit les fonctions et expressions régulières correspondantes. Je crois que les lecteurs peuvent choisir et postuler en fonction de situations spécifiques dans des applications pratiques.


  1. >

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal