在两列mysql数据库中拆分浮点值

时间:2014-03-17 02:21:29

标签: mysql sql

我错误地在#34; VARCHAR"类型的一列中输入了2个值。以这种格式 value1.value2(浮点值格式),例如5.10,4.0,3.11等

现在我想将这两个值分成两个单独的列,类型为" INT" 我已经创建了列,我只需要一个查询。

我不知道如何编写查询来拆分一列的值并更新其他列。 任何知道的人,请帮忙。

由于

1 个答案:

答案 0 :(得分:2)

在MySQL中这很容易做到:

select cast(substring_index(varcharcol, '.', 1) as unsigned) as val1,
       cast(substring_index(varcharcol, '.', -1) as unsigned) as val2

编辑:

如果您愿意,也可以在update

中执行此操作
update table t
    set val1 = cast(substring_index(varcharcol, '.', 1) as unsigned),
        val2 = cast(substring_index(varcharcol, '.', -1) as unsigned)