[英]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.