Mysql 使用其他列的最后10位创建新列

Mysql 使用其他列的最后10位创建新列,mysql,sql,sql-update,substring,Mysql,Sql,Sql Update,Substring,我曾经 使 phone\u last\u ten列 一切正常,但我最后十个电话的0为零,其中phone为

我曾经

使

phone\u last\u ten列

一切正常,但我最后十个电话的
0
为零,其中
phone
<10个字符/数字。有解决方法吗?

使用函数而不是
SUBSTR
函数

试试这个:

UPDATE user SET phone_last_ten = SUBSTR(phone, -10) 

UPDATE autumn4.application_user 
SET phone_last_ten = RIGHT(phone, 10);
你可以使用这个函数

MySQL RIGHT()从字符串的右侧提取指定数量的字符

UPDATE autumn4.application_user 
SET phone_last_ten = RIGHT(CAST(phone AS CHAR(20)), 10);

UPDATE user SET phone_last_ten = RIGHT(phone, 10) 

列为int/bigints。我希望它不会有什么关系?@MasoodAhmad我认为它适用于所有人,如果没有,你可以使用convert..我已经在我的答案中更新了它。如果对您有帮助,请标记有用。列为int/bigints。“我希望这不要紧?”马苏达赫玛说,这不会发生。如果您仍然感到困惑,那么将该列转换为varchar。检查我的最新答案
UPDATE user SET phone_last_ten = RIGHT(CONVERT(Phone, CHAR(50)), 10)