De supprimer TOUT ou particulières Non imprimable de caractères à partir de la colonne dans mysql
Je veux enlever tous OU particulières non imprimables caractère de ma colonne dans mysql.
Je pense que cela peut être réaliser à l'aide de regexp_replace() fonction, mais comment je ne sais pas.
Non caractères Imprimables Ascii a valeur de o à 31.
J'avais Penser à une solution qui est comme ci-dessous:
SI j'écris la fonction que de lire tous les caractères de la chaîne en entrée un par un et de les convertir en ASCII. Ensuite, chaque fois que je comparer cette valeur Ascii avec entrée ascii de la valeur et si elle correspond alors à la remplacer et ma fonction sera de retour remplacé chaîne.
Mais dans les données de mon application est toujours en vrac donc je pense qu'Il va consommer beaucoup de temps pour le traitement, même si j'utilise une requête select et ma fonction définie par l'utilisateur.
Donc, je veux autre façon d'effectuer cette tâche. Je pense que regexp_replace() sera grande, mais je ne sais pas Comment l'utiliser
S'il vous plaît aider
Merci,
Ronak
- double possible de Comment faire un remplacement d'expressions régulières MySQL?
- double possible de Comment détecter et à remplacer les caractères non-imprimables à partir de la table?
Vous devez vous connecter pour publier un commentaire.
MySQL ne supporte pas les regex pour remplacer des opérations en mode natif, recherche uniquement.
Cela dit, il y a les paquets qui fournissent des fonctionnalités d'Oracle REGEXP_REPLACE() comme des fonctions définies par l'Utilisateur.
L'expression régulière
[[:cntrl:]]+
correspond à un ou plusieurs caractères non-imprimables ASCII (de 0 à 31 et ASCII 127).Donc, en utilisant le précitées paquet,
REGEXP_REPLACE?(text, "[[:cntrl:]]+", "")
va modifiertext
en la dépouillant de tous les caractères non-imprimables.