如何从DB中删除十六进制字符?

时间:2010-07-05 19:26:36

标签: mysql database hex character

我有一个MySQL数据库,其行包含%20,%2C等字符... 如何在不编辑记事本文件的情况下将其从数据库中删除? .sql文件大小约为300mb ... 感谢

1 个答案:

答案 0 :(得分:1)

什么数据库?

是否要用正确的字符替换代码;比如%20和''(空格)?

您可能需要准确查看文本的转义方式,但您可以使用内置字符串函数天真地执行某些操作:

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%';

此外,我会采取措施确保在使用任何插入/导入机制时,此类数据不会进入数据库。