-1
votes

Remplacement de plusieurs caractères spéciaux à l'aide de fonctions Oracle SQL

@Tall - merci pour votre aide

Email d'identification

1 karthik.sanu@gmail.com. , exemple@gmail.com @

2 karthik?sanu@gmail.com

Dans l'exemple ci-dessus, si vous voyez la 1ère ligne, l'adresse e-mail n'est pas valide en raison de points à la fin de la 1ère adresse électronique et @ à la fin de la deuxième adresse électronique. En 2e rangée, il y a un? entre adresse e-mail.

Je voulais juste savoir s'il y a un moyen de gérer des caractères et de supprimer ceux de l'adresse e-mail à l'aide de la fonction SQL et de mettre à jour la même chose dans le tableau.

Merci d'avance.


3 commentaires

Veuillez fournir un exemple avec le résultat souhaité


Est-ce que cela répond à votre question? Multiple Remplacer la fonction dans Oracle


Si vous recherchez une fonction removeallwrongCharacters . Ensuite, il n'y a pas de telle fonction. Vous devez déjà faire des spécifications, par exemple. quels caractères et où ils doivent être enlevés. Dans votre cas, vous devez travailler avec des expressions régulières


3 Réponses :


1
votes

Vous pouvez nier plusieurs invocations de remplacer () , mais cela devient rapidement compliqué.

d'autre part, regexp_replace () est utile pour cela: < / p> xxx

Le caractère de tuyau ( | ) signifie ou . Le point (. ) et le point d'interrogation (? ) sont des caractères significatifs dans les regexnes afin de s'échapper avec une barre oblique inverse ( \ ).


0 commentaires

2
votes

Vous pouvez également consulter un Traduire fonction xxx


1 commentaires

@karthiksanu. . . J'ai corrigé une faute de frappe dans la réponse et c'est la meilleure réponse. Traduire () Est-ce que exactement Ce que vous demandez, si vous avez une liste spécifique de caractères que vous souhaitez remplacer.



1
votes

Quelque chose comme ça va "supprimer" tout sauf, des chiffres, des lettres et des espaces (si c'est ce que vous vouliez).

SQL> with test (col) as
  2    (select 'This) is a se#nten$ce with. everything "but/ only 123 numbers, and ABC lett%ers' from dual)
  3  select regexp_replace(col, '[^a-zA-Z0-9 ]') result
  4  from test;

RESULT
-----------------------------------------------------------------------
This is a sentence with everything but only 123 numbers and ABC letters

SQL>


0 commentaires