2014-01-10 74 views
-1

內不良數據我有我使用導出到XML中的偉大工程的SQL查詢:禁止MySQL查詢

SELECT remarks AS comments from Table1 

我在表中沒有控制,而且只給它執行SELECT。我面臨的挑戰是一些記錄在這個自由文本列中有斷行,導致XML「斷裂」。

查詢本身是否有一種方法來抑制或刪除換行符和其他可能的錯誤字符?

+1

爲什麼不直接操縱數據呢? – BenM

+0

兩個選項:@BenM的評論(即使用你正在使用的任何語言來生成XML來操縱返回的字符串),或使用SQL字符串函數(例如在MySQL中:http://dev.mysql.com/doc/refman /5.0/en/regexp.html#operator_regexp) – ChrisW

+0

我想保留在查詢中並輸出xml,不需要後期處理...乾淨整潔的方式讓MySQL服務器完成工作@BenM –

回答

1

雖然處理這個問題的最好方法是阻止不良數據進入,第二種方法是在從數據庫讀取數據後讓代碼清理它;你應該可以做這樣的事情:

SELECT REPLACE(COLUMN_NAME, '<br/>', '') AS comments FROM Table1; 

這將刪除中斷並將其替換爲空白。

+0

I同意@shawn,不幸的是,這是另一家公司,所以我沒有控制。謝謝,我會給這個鏡頭。 –