web-dev-qa-db-ja.com

mysqlのデータ行から改行文字を削除する方法は?

私はPHPスクリプトのすべての行をループして実行できます

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

トリムは\ nを削除できます

しかし、1つのクエリで同じことができるかどうか疑問に思っていましたか?

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

うまくいきますか?その後、ループすることなくこのクエリを実行できます!

ありがとう

PS

79
TigerTiger

構文が間違っています:

update mytable SET title = TRIM(TRAILING '\n' FROM title)
112
longneck
UPDATE test SET log = REPLACE(REPLACE(log, '\r', ''), '\n', '');

私のために働いた。

似ていますが、\ r\nも削除します

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

107
Łukasz Rysiak

1)すべての改行およびtab文字をスペースに置き換えます。

2)すべての先頭と末尾スペースを削除します。

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

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

上記は正常に機能しています。

Excelからインポートするときに末尾の戻り値を削除します。これを実行すると、WHEREがないというエラーが表示される場合があります。無視して実行します。

UPDATE table_name SET col_name = TRIM(TRAILING '\r' FROM col_name)
4
Ulysnep
UPDATE mytable SET title=TRIM(REPLACE(REPLACE(title, "\n", ""), "\t", ""));
2
Risse

私の2セント。

\ nを削除するには、\\ nを実行する必要がありました。それが誰かを助けることを願っています。

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