如何在sqlite中删除文本字段中的回车符?

如何在sqlite中删除文本字段中的回车符?,sqlite,carriage-return,Sqlite,Carriage Return,我有一个sqlite数据库,有超过40万条记录。我刚刚发现一些文本字段中有回车符,我想清除它们。我想复制原始表的结构,然后执行以下操作: INSERT INTO large_table_copy SELECT date, other_fields, replace(dirty_text_field,XXX,"") FROM large_table 其中,XXX是回车的代码。它不是\n。但我不知道那是什么 SQLite允许您在字符串文本中放置换行符,如下所示: SELECT replace(

我有一个sqlite数据库,有超过40万条记录。我刚刚发现一些文本字段中有回车符,我想清除它们。我想复制原始表的结构,然后执行以下操作:

INSERT INTO large_table_copy 
SELECT date, other_fields, replace(dirty_text_field,XXX,"") 
FROM large_table

其中,
XXX
是回车的代码。它不是
\n
。但我不知道那是什么

SQLite允许您在字符串文本中放置换行符,如下所示:

SELECT replace(dirty_text_field, '
', '');
如果您不喜欢此语法,可以将字符串作为
BLOB
传递:
X'0D'
用于
\r
X'0A'
用于
\n
(假设默认的UTF-8编码)


Edit:由于这个答案最初是编写的,SQLite添加了一个
CHAR
函数。因此,您现在可以为
\r
编写
CHAR(13)
,或为
\n
编写
CHAR(10)
,无论您的数据库是用UTF-8还是UTF-16编码,这都会起作用。

来自@MarkCarter对上述问题的评论:

SELECT replace(dirty_text_field, X'0A', '\n');

对于任何对此不清楚的人。。。您可以执行类似于
选择替换(脏文本\u字段,X'0A','\n')…
的操作,将单个\n字符替换为等效的“\n”2字符strings@MarkCarter这是一个很好的答案,那么,为什么不把它贴出来,而不是仅仅作为一个评论呢?@aculich,因为它没有提供任何在回答中提供的全新的东西。我认为这在当今是行不通的<代码>sqlite>选择替换(whitelist.wl_日期,字符(13),“”)导致
错误:没有这样的列:whitelist.wl\u date
。我尝试过使用数据库名作为前缀,并省略表名。