2014-03-02 55 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, "$ ", "")/*用空字符串替换$ */