Mysql - 从INT类型列中删除文本

时间:2014-02-22 13:31:14

标签: mysql double varchar

我正在进行迁移

我有一个列名amount_in_rmb VARCHAR。但我想将其更改为DOUBLE(10,2)

问题是,某些amount_in_rmb行包含RMB1525RM23523等数据

我只想要1525但不想要RMB,因为我要将列类型更改为double

我的问题是,如何使用mysql查询或任何方法从行中删除“RMB”或“RM”?数值非常重要,不得删除。

1 个答案:

答案 0 :(得分:0)

如果这些是唯一可能的前缀,您可以这样做:

UPDATE YourTable
SET amount_in_rmb = CASE WHEN amount_in_rmb LIKE 'RMB%' THEN SUBSTR(amount_in_rmb, 4)
                         WHEN amount_in_rmb LIKE 'RM%' THEN SUBSTR(amount_in_rmb, 3)
                         ELSE amount_in_rmb
                    END

如果还有其他前缀,请添加更多WHEN子句。我不认为有一种简单的方法可以在SQL开头跳过所有字母。