什么是从文本中删除\ n \ r的SQL查询?

时间:2011-04-29 05:48:05

标签: mysql sql

我正在使用MySQL。我的数据有一个名为text的列,它使用TEXT数据类型。

此列中的每条记录都有几个换行符。我想用SQL查询删除所有新行。我怎么能这样做?

7 个答案:

答案 0 :(得分:17)

试试这个 -

CREATE TABLE table1(column1 TEXT);
INSERT INTO table1 VALUES ('text1\r\ntext2
text3');

SELECT * FROM table1;
--------
text1
text2
text3

UPDATE table1 SET column1 = REPLACE(column1, '\r\n', '');
SELECT * FROM table1;
--------
text1text2text3

答案 1 :(得分:11)

之前的建议对我不起作用。如果我实际在文本中输入了\r\n文本,它似乎才有效。我发现以下内容效果很好 -

replace(replace([MyFieldName],char(13),''),char(10),'')

我还在表格中创建了一个使用此公式的计算字段。这样我就可以在程序中使用原始字段内容的区域中引用该字段。

答案 2 :(得分:6)

试试这个

REPLACE(REPLACE(FIELD, '\n', ''), '\r', '')

答案 3 :(得分:4)

如果有REPLACE(REPLACE(DBField, '\n', ''), '\r', '')这样的隐形html代码,那么\n \r就会有效。为此你必须使用char代码。

示例:

REPLACE(REPLACE(REPLACE(DBField, CHAR(10), ''), CHAR(13), ''), CHAR(9), '')

答案 4 :(得分:0)

您可以使用REPLACE(text,'\n\r',' ')

答案 5 :(得分:0)

我已经尝试过所有这里所说的但是对我来说都没有用,我的数据库是IBM Informix, 但我设法解决了这个问题:

UPDATE personas SET foto_path = SUBSTRING(foto_path FROM 1 FOR LENGTH(foto_path) - 1);

希望在类似的情况下帮助其他人。

答案 6 :(得分:0)

上面带有单反斜杠的版本为我清除了一些内容,但还必须运行此命令以清除其余内容。

REPLACE(REPLACE(FIELD, '\\n', ''), '\\r', '')