繁体   English   中英

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

[英]What would be a sql query to remove \n\r from the text?

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

此列中的每条记录都有几个换行符。 我想使用 sql 查询删除所有新行。 我怎样才能做到这一点?

试试这个——

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

以前的建议对我不起作用。 只有当我实际输入\r\n文本作为文本时,它似乎才有效。 我发现以下效果很好 -

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

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

给定建议,即REPLACE(REPLACE(DBField, '\n', ''), '\r', '')如果有不可见的 html 代码(如\n \r )将不起作用。 为此,您必须使用字符代码。

例子:

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

尝试这个

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

我已经尝试了这里所说的所有内容,但都没有为我工作,我的数据库是 IBM Informix,但是我设法解决了这样的问题:

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

希望它可以帮助其他类似情况。

上面带有单反斜杠的版本为我清除了一些,但也必须运行它来清除 rest。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM