mysql针对字段中换行符\r\n进行查询和删除

1、应用场景:mysql中某个数据字段包含换行符,导致前台解析json时报错

       “Uncaught SyntaxError: Unexpected token  in JSON at position 333”;

2、针对以上可将数据粘贴进notepad++查看,其中问题部分json如下所示

      "info":"mysql1,\r\nmysql2"

3、针对上述问题字段在mysql数据库中进行查询,如下语句

       select * from test where info like CONCAT('%',char(10),'%');

       即可查询test表中info字段中包含换行符的数据有哪些;

4、将包含的换行符去除,执行以下语句即可

       
       update test

       set info = replace(replace(info,char(10),''),char(13),'')

       where info like concat('%',char(10),'%');

5、除了针对换行符\r\n外,针对\t tab制表位,可采用以下语句

      select * from test where info like CONCAT('%\t%');

       update test

       set info = replace(info,'\t','')

       where info like concat('%',char(10),'%');

你可能感兴趣的:(mysql,json)