我有一個SQLite數據庫超過40萬條記錄。我剛剛發現一些文本字段中有回車符,我想清除它們。我想複製原始表的結構,然後做一些事情,如:如何在sqlite中的文本字段中刪除回車?
INSERT INTO large_table_copy
SELECT date, other_fields, replace(dirty_text_field,XXX,"")
FROM large_table
哪裏XXX
是什麼代碼將是一個回車。這不是\n
。但我找不到它是什麼。
我有一個SQLite數據庫超過40萬條記錄。我剛剛發現一些文本字段中有回車符,我想清除它們。我想複製原始表的結構,然後做一些事情,如:如何在sqlite中的文本字段中刪除回車?
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編碼)。
編輯:由於本答案最初的編寫,SQLite增加了CHAR
函數。因此,您現在可以編寫CHAR(13)
的\r
或CHAR(10)
的\n
,無論您的數據庫是使用UTF-8編碼還是使用UTF-16編碼,這都可以工作。
從@上面的問題MarkCarter的評論:
SELECT replace(dirty_text_field, X'0A', '\n');
嘿,對於丹的歡呼聲。發現。 – alj 2011-01-10 00:09:26