Posted on 2013-06-10 20:30
pts 阅读(1555)
评论(0) 编辑 收藏
最近使用 rails 做了一个小小的小网站, 数据库用的是 sqlite3, 数据库数据是从一个 xml 文件中导入的, 有很多前导回车和末尾空行, 而页面显示的时候会自动把回车替换成 , 结果就是显示出来的内容无端端的多了很多空白, 整个页面看起来很不河蟹协调. 今天闲下来了决定把这些无用的回车换行符去掉.
不就是一个 trim 嘛, 很快进入 sqlite 命令行界面, 输入:
sqlite> update jokes set content=trim(content,’\n’);
搞定, 收工…????? 刷新页面一看, 我了个去, 不行耶~~, sqlite 不认 \n, 换成 trim(content, ‘\r’), trim(content, ‘\r\n’) 和 trim(content, ‘\n\r’) 都不行, 哥是个懒人, 不想写代码解决, 于是 google 了下, 发现有人提供这个解决方法:
x’hh’ should work, where hh are hex digits. So if your file contained hex 0D type line breaks: UPDATE t SET essay_without_newlines = Replace(essay, x’0D’, ‘~’);
也就是说 sqlite 中可以使用 x’hh’ 这种语法来表示一个字符. 试了下 x’0D’, 不行…..再试试 x’0A’, 就好了:
sqlite> update jokes set content=trim(content, x’0A’);
流水账一笔, 没啥技术含量. 纯粹是做个备忘, 也希望对别人有所帮助.
http://liang.eu/web-dev/trim-newlines-in-sqlite3