将值从声明为varchar的column1(包含数字)复制到Mysql中声明为number的另一个column2的方法

将值从声明为varchar的column1(包含数字)复制到Mysql中声明为number的另一个column2的方法,mysql,sql,sql-update,Mysql,Sql,Sql Update,我使用的是一个表say employee,它有两列mobileno和landineno(都声明为varchar),其中包含该员工的联系电话。 所以现在我们向前迈进了一步,添加了两个额外的列mn和fn,它们都声明为bigint。 所以我写了一个更新查询来更新这些值。 由于该表已经变大,因此它包含许多垃圾值,如从前端插入的052-12525,因此在mn中复制的值是052,忽略“-”之后的数字。 还有一个实例是mobileno is 5.836,它是从前端错误输入的,被复制为6。 因此,请告诉我是否有

我使用的是一个表say employee,它有两列mobileno和landineno(都声明为varchar),其中包含该员工的联系电话。 所以现在我们向前迈进了一步,添加了两个额外的列mn和fn,它们都声明为bigint。 所以我写了一个更新查询来更新这些值。 由于该表已经变大,因此它包含许多垃圾值,如从前端插入的052-12525,因此在mn中复制的值是052,忽略“-”之后的数字。 还有一个实例是mobileno is 5.836,它是从前端错误输入的,被复制为6。 因此,请告诉我是否有一种方法可以忽略字符,只将数字复制到新列中,并使用


将返回05212525和12332

+44207123234这样的电话号码如何?如果将其存储为BigInt,然后将其转换回文本,则会得到
0442071231234
,这是错误的。。。我认为最好检查输入的字符串,并在它们到达数据库之前对它们(对用户)实施约束。
SELECT REPLACE('052-12525', '-', ''), FORMAT(12332.1,0)