Posted on 2013-06-10 20:30
pts 閱讀(1567)
評論(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