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)