首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >sqlite查询将隐藏/不可见的回车替换为合法的回车。

sqlite查询将隐藏/不可见的回车替换为合法的回车。
EN

Stack Overflow用户
提问于 2013-10-25 02:53:53
回答 1查看 4.3K关注 0票数 2

我有一个有数千条文字条目的sqlite数据库。文本有许多不可见/隐藏的回车返回,这显示了文本在一长行。它可以在一些程序上显示,而在另一些程序上,它不喜欢这样。如果我只是删除这些隐藏的回车返回,并取代他们按下‘进入’按钮,一切都工作得很好。我的问题是如何将这些隐藏字符(我认为是CHAR(13)或CHAR(10))替换为正常的回车,就像我按enter按钮一样。正确的SQLite查询是什么?我已经找到了一些例子,它们只是用一个空的空间来替换,而不是用一个普通的段落来替换。

这里是我的意思的一个例子:

来自英格兰羊毛生产增长的-Result

这就是我想要展示的东西:

  • 英国羊毛产量增长的结果
  • 围场以前是农场,后来变成了羊的牧场。
  • 在以前的农田工作的农奴被逐出d

我可以通过删除这些隐藏的回车并点击enter按钮来做到这一点。我可以为整个数据库做这件事,但我需要大约3个月的时间才能完成。

任何帮助都将不胜感激。

EN

Stack Overflow用户

回答已采纳

发布于 2013-10-25 09:36:20

“正常”行中断取决于应用程序。实际上,不同的操作系统使用不同的换行符。

首先,我要确保数据库中所有的换行都标准化了--我更喜欢单一的LF (x'0A'),因此我将确保我的数据只使用这个字符:

代码语言:javascript
复制
 UPDATE mytable SET mycol=REPLACE(REPLACE(mycol, x'0D0A', x'0A'), x'0D', x'0A');

这将将所有CR+LF转换为LF,其余的CR也将转换为LF

然后根据我的应用程序的需要转换输出:

代码语言:javascript
复制
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), ...
票数 3
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19580314

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档