Мне нужно найти и заменить \ n в поле MySQL - PullRequest
1 голос
/ 20 февраля 2012

У меня есть такие данные:

1 улица \ n2street \ nmycity \ nmytown

Что я хочу сделать, это заменить \ n на char (10), так как мне нужен настоящийперевод строки в поле базы данных.

У меня есть:

UPDATE data set `value` = REPLACE(`value`,'\n', char(10)) WHERE `key`='shipping_address';

Но это не работает.

Может кто-нибудь помочь, пожалуйста?

Ответы [ 6 ]

8 голосов
/ 20 февраля 2012
UPDATE data set `value` = REPLACE(`value`,'\\n', CHAR(10)) WHERE `key`='shipping_address';
2 голосов
/ 20 февраля 2012

Вы забыли сбежать от \, как это:

UPDATE data set `value` = REPLACE(`value`,'\\n', char(10)) WHERE `key`='shipping_address';
1 голос
/ 20 февраля 2012

Удвойте обратную косую черту, чтобы избежать ее и трактовать как литерал:

UPDATE data set `value` = REPLACE(`value`,'\\n', char(10)) WHERE `key`='shipping_address';
0 голосов
/ 10 января 2019

Я хотел заменить концы строк в моих столбцах.Это сработало для меня:

UPDATE `table`
SET
`column` = REPLACE(`column`, char(13), '');

char (13) - возврат каретки, а char (10) - перевод строки.Вы можете иметь либо.

0 голосов
/ 26 сентября 2013

Мой случай: это не сработало, потому что я думал, что у него было \ n, но у него было \ r

update [Table] set [column]=replace(convert([column] using utf8) ,'\r','');
0 голосов
/ 20 февраля 2012

Символ новой строки - либо «\ n» (перевод строки), либо «\ r» (возврат каретки), либо CR, за которым следует LF «\ r \ n» в зависимости от os.

UPDATE data set `value` = REPLACE(`value`,'\r' or '\n' or '\r\n', char(10)) WHERE `key`='shipping_address';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...