How to remove new line characters from data rows in mysql?

[亡魂溺海] 提交于 2019-11-26 04:17:58

问题


I can loop through all of the rows in a php script and do

UPDATE mytable SET title = \"\'.trim($row[\'title\']).\'\" where id = \"\'.$row[\'id\'].\'\";

and trim can remove \\n

But I was just wondering if something same could be done in one query?

 update mytable SET title = TRIM(title, \'\\n\') where 1=1

will it work? I can then just execute this query without requiring to loop through!

thanks

(PS: I could test it but table is quite large and dont want to mess with data, so just thought if you have tested something like this before)


回答1:


your syntax is wrong:

update mytable SET title = TRIM(TRAILING '\n' FROM title)



回答2:


UPDATE test SET log = REPLACE(REPLACE(log, '\r', ''), '\n', '');

worked for me.

while its similar, it'll also get rid of \r\n

http://lists.mysql.com/mysql/182689




回答3:


1) Replace all new line and tab characters with spaces.

2) Remove all leading and trailing spaces.

 UPDATE mytable SET `title` = TRIM(REPLACE(REPLACE(REPLACE(`title`, '\n', ' '), '\r', ' '), '\t', ' '));



回答4:


update mytable set title=trim(replace(REPLACE(title,CHAR(13),''),CHAR(10),''));

Above is working for fine.




回答5:


Removes trailing returns when importing from Excel. When you execute this, you may receive an error that there is no WHERE; ignore and execute.

UPDATE table_name SET col_name = TRIM(TRAILING '\r' FROM col_name)



回答6:


UPDATE mytable SET title=TRIM(REPLACE(REPLACE(title, "\n", ""), "\t", ""));



回答7:


My 2 cents.

To get rid of my \n's I needed to do a \\n. Hope that helps someone.

update mytable SET title = TRIM(TRAILING '\\n' FROM title)


来源:https://stackoverflow.com/questions/1504962/how-to-remove-new-line-characters-from-data-rows-in-mysql

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!