我需要在mysql字段中找到并替换\ n

时间:2012-02-20 13:49:01

标签: mysql sql replace

我有这样的数据:

1 street \ n2street \ nmycity \ nmytown

我想要做的是用char(10)替换\ n,因为我需要在db字段中使用真正的换行符。

我有:

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

但这不起作用。

有人可以帮忙吗?

6 个答案:

答案 0 :(得分:8)

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

答案 1 :(得分:2)

你忘了逃避\这样:

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

答案 2 :(得分:1)

将反斜杠加倍以使其转义并将其视为文字:

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

答案 3 :(得分:0)

新行字符分别为'\ n'(换行符)或'\ r'(回车符),或CR后跟LF'\ r \ n'取决于操作系统。

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

答案 4 :(得分:0)

我的情况:它不起作用,因为我认为它有\ n但它有\ r

update [Table] set [column]=replace(convert([column] using utf8) ,'\r','');

答案 5 :(得分:0)

我想实际替换列中的行尾。这对我有用:

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

char(13)是回车符,而char(10)是换行符。你可能有。