我有一个有数千条文字条目的sqlite数据库。文本有许多不可见/隐藏的回车返回,这显示了文本在一长行。它可以在一些程序上显示,而在另一些程序上,它不喜欢这样。如果我只是删除这些隐藏的回车返回,并取代他们按下‘进入’按钮,一切都工作得很好。我的问题是如何将这些隐藏字符(我认为是CHAR(13)或CHAR(10))替换为正常的回车,就像我按enter按钮一样。正确的SQLite查询是什么?我已经找到了一些例子,它们只是用一个空的空间来替换,而不是用一个普通的段落来替换。
这里是我的意思的一个例子:
来自英格兰羊毛生产增长的-Result
这就是我想要展示的东西:
我可以通过删除这些隐藏的回车并点击enter按钮来做到这一点。我可以为整个数据库做这件事,但我需要大约3个月的时间才能完成。
任何帮助都将不胜感激。
发布于 2013-10-25 09:36:20
“正常”行中断取决于应用程序。实际上,不同的操作系统使用不同的换行符。
首先,我要确保数据库中所有的换行都标准化了--我更喜欢单一的LF (x'0A'),因此我将确保我的数据只使用这个字符:
UPDATE mytable SET mycol=REPLACE(REPLACE(mycol, x'0D0A', x'0A'), x'0D', x'0A');这将将所有CR+LF转换为LF,其余的CR也将转换为LF。
然后根据我的应用程序的需要转换输出:
SELECT mycol FROM mytable; -- LF, Unix like systems, ...
SELECT REPLACE(mycol, x'0A', x'0D0A'); -- CRLF, Windows systems, ...
SELECT REPLACE(mycol, x'0A', x'0D'); -- CR, Mac OS (ver<=9), ...https://stackoverflow.com/questions/19580314
复制相似问题