2014-03-02 73 views
0

我有一個包含3個符號(美元:US$,£?)的列的MySql表。MYSQL檢查字段是否包含符號並刪除

enter image description here

我使用PHP(CI中),除去所有的符號,就像這樣:

$replace = $this->db->query("UPDATE wm_rendiconti_amazon 
    SET Royalty_USD = SUBSTRING(Royalty_USD, 5), 
    Royalty_GBP = SUBSTRING(Royalty_GBP, 3), 
    Royalty_EUR = SUBSTRING(Royalty_EUR, 3)"); 

這基本上消除了與使用串的符號。

我試圖解決的問題是,如果動作運行兩次(這將再次刪除3/5個字符),則不會刪除數字。

我想用mysql檢查「If the field contains the symbol US$ or £ or ? then remove it」。

這是可能的MySQL查詢?

+0

爲什麼你需要「檢查」第一? – Strawberry

+0

@Strawberry因爲如果我發起了動作,它會刪除前3個字符,並且沒問題,如果我再次觸發它,它會再次刪除3個字符並刪除字段內容 –

+0

爲什麼有逗號($ 6,75等)而不是點像(6.75美元)。 – avisheks

回答

1

你可以更好地使用MySQL REPLACE函數。這組功能可以像

field_name = REPLACE(field_name, "$ ", "")/*用空字符串替換$ */