如何在mysql中删除数据行中的新行字符?
我可以循环遍历php脚本中的所有行并执行以下操作如何在mysql中删除数据行中的新行字符?,mysql,trim,Mysql,Trim,我可以循环遍历php脚本中的所有行并执行以下操作 UPDATE mytable SET title=“”.trim($row['title'])。“其中id=“”。$row['id'])” 和修剪可以删除\n 但我只是想知道是否可以在一个查询中完成同样的操作 update mytable SET title = TRIM(title, '\n') where 1=1 行吗?然后我就可以执行这个查询,而不需要循环 谢谢 (注:我可以测试它,但表非常大,不想弄乱数据,所以如果您以前测试过类似的内
UPDATE mytable SET title=“”.trim($row['title'])。“其中id=“”。$row['id'])”代码>
和修剪可以删除\n
但我只是想知道是否可以在一个查询中完成同样的操作
update mytable SET title = TRIM(title, '\n') where 1=1
行吗?然后我就可以执行这个查询,而不需要循环
谢谢
(注:我可以测试它,但表非常大,不想弄乱数据,所以如果您以前测试过类似的内容,请想想)您的语法错误:
update mytable SET title = TRIM(TRAILING '\n' FROM title)
添加:
如果换行符位于字段的开头:
update mytable SET title = TRIM(LEADING '\n' FROM title)
为我工作
虽然它很相似,但它也将删除\r\n
1)用空格替换所有新行和制表符
2) 删除所有前导空格和尾随空格
UPDATE mytable SET `title` = TRIM(REPLACE(REPLACE(REPLACE(`title`, '\n', ' '), '\r', ' '), '\t', ' '));
updatemytable set title=trim(替换(替换(title,CHAR(13),“”),CHAR(10),“”))代码>
上面的工作正常。从Excel导入时删除尾部返回。当您执行此操作时,您可能会收到一个没有WHERE的错误;忽略并执行
UPDATE table_name SET col_name = TRIM(TRAILING '\r' FROM col_name)
我的2美分
要清除我的\n,我需要执行\\n。希望这能帮助别人
update mytable SET title = TRIM(TRAILING '\\n' FROM title)
对于新行字符
UPDATE table_name SET field_name = TRIM(TRAILING '\n' FROM field_name);
UPDATE table_name SET field_name = TRIM(TRAILING '\r' FROM field_name);
UPDATE table_name SET field_name = TRIM(TRAILING '\r\n' FROM field_name);
UPDATE table_name SET field_name = TRIM(field_name);
UPDATE table_name SET field_name = TRIM(TRAILING '\n' FROM field_name);
UPDATE table_name SET field_name = TRIM(TRAILING '\r' FROM field_name);
UPDATE table_name SET field_name = TRIM(TRAILING '\r\n' FROM field_name);
UPDATE table_name SET field_name = TRIM(TRAILING '\t' FROM field_name);
对于所有空白字符
UPDATE table_name SET field_name = TRIM(TRAILING '\n' FROM field_name);
UPDATE table_name SET field_name = TRIM(TRAILING '\r' FROM field_name);
UPDATE table_name SET field_name = TRIM(TRAILING '\r\n' FROM field_name);
UPDATE table_name SET field_name = TRIM(field_name);
UPDATE table_name SET field_name = TRIM(TRAILING '\n' FROM field_name);
UPDATE table_name SET field_name = TRIM(TRAILING '\r' FROM field_name);
UPDATE table_name SET field_name = TRIM(TRAILING '\r\n' FROM field_name);
UPDATE table_name SET field_name = TRIM(TRAILING '\t' FROM field_name);
阅读更多:
玩上面的答案,这一个对我有用
REPLACE(REPLACE(column_name , '\n', ''), '\r', '')
您可以去掉where子句……但要小心修剪,因为集合中可能有其他字符(如回车'\r')。在提出此问题之前,您应该对此进行测试。它起作用了。若你们想在大表上测试它,你们可以使用LIMIT子句。WHERE子句有什么问题?只是curious@PhillPafford没什么,从技术上讲,这只是多余的。(我知道这已经超过5年了,但可能会帮助其他人来阅读。)来自MSSQL,这种语法对我来说非常陌生。我以为你在用伪代码!但是它起作用了:)供参考的文档。这不会删除尾随\n,它会删除所有\n,这在这里是不需要的。这可能对确切的OP不起作用,但在我处理的一个情景中确实有帮助,+1为我工作,谢谢。正是我需要的。工作了!很高兴去!这不会删除尾随\n,它会删除所有\n,这在这里是不需要的。当“\n”不起作用时,此选项很有用(在mysql workbench上测试)