2012-11-13 44 views
2

我在数据库中有很多记录,并且我想从特定列中的所有记录中删除特定的字符。如何从数据库MySQL中的巨大记录中删除特定字符?

,比如我有这个表

id cost distance 
1 $1,519 21.5 miles 
2 $7,987 32.789 miles 

我想删除的费用列中的所有美元符号和逗号,以及我想从距离栏

所以删除单词英里我想最终的结果是

id cost distance 
1 1519 21.5 
2 1987 32.789 

你能请帮助我怎么可以做到这一巨量的记录?

回答

4

使用REPLACE此,

UPDATE tableName 
SET cost = REPLACE(REPLACE(cost, '$', ''), ',',''), 
    distance = REPLACE(distance, 'miles', '') 
+0

+1完美解决方案。 – Jeremy1026

+0

MySQL文档说自引用列是不可能的(对于DML'REPLACE')。 *“您无法引用当前行中的值并将它们用于新行。”* – Kermit

+0

这不会在文本字段中保留值吗?转换为数字类型不是更好吗,所以这些值可以有效地用于计算? – njr101

0
select id, 
     replace(substring(price, 2, length(price)), '.', ''), 
     replace(distance, 'miles', '') 
from *tablename*