2010-07-05 18 views
2

J'ai une base de données MySQL où les lignes ont des caractères comme% 20,% 2C, etc ... comment puis-je les supprimer de la DB sans modifier le fichier sur le bloc-notes? Le fichier .sql est d'environ 300mb de taille ... merciComment supprimer les caractères hexadécimaux de DB?

+0

JEagle, avec DB? –

+0

Désolé kamia n'a pas compris votre question – JEagle

+1

Quelle base de données? mySQL? Oracle? Serveur SQL? –

Répondre

1

Quelle base de données?

Voulez-vous remplacer les codes par leurs caractères appropriés? comme% 20 avec '' (espace)?

Vous devrez peut-être regarder exactement comment votre texte est échappé, mais vous pouvez naïvement faire quelque chose en utilisant les fonctions de chaîne BUILTIN:

http://dev.mysql.com/doc/refman/5.1/en/string-functions.html#function_replace

http://dev.mysql.com/doc/refman/5.1/en/string-functions.html#function_unhex

UPDATE tbl 
SET col = REPLACE(col, '%20', UNHEX('20')) 
WHERE col LIKE '%\%20%'; 

Aussi, je prendrais des mesures pour s'assurer que ce type de données ne pénètre pas dans la base de données quel que soit le mécanisme d'insertion/importation utilisé.

+0

Vous devriez le saisir comme un commentaire:/ –

+0

oui, remplacer les codes. – JEagle