如何在SQL中移除电话号码字符串中的".0"后缀?
移除TEXT类型电话号码列中的".0"后缀
针对你遇到的TEXT类型电话号码列(PN)存在".0"后缀的问题,提供两种实用的SQL解决方案:
方案1:使用REPLACE函数快速替换
适合确定所有带".0"的字符串都是需要移除后缀的场景:
UPDATE 你的表名 SET PN = REPLACE(PN, '.0', '') WHERE PN LIKE '%.0';
REPLACE(PN, '.0', '')直接将列中的".0"替换为空字符串WHERE条件过滤出需要修改的行,避免全表扫描,提升执行效率
方案2:精准截取字符串(更稳妥)
如果担心电话号码中意外出现".0"子串(虽然概率极低),可以通过判断字符串结尾来精准处理:
UPDATE 你的表名 SET PN = LEFT(PN, LEN(PN) - 2) WHERE RIGHT(PN, 2) = '.0';
RIGHT(PN, 2) = '.0'确保仅修改结尾为".0"的记录LEFT(PN, LEN(PN)-2)直接截取去掉最后两位的字符串,比REPLACE更精准
重要提示
执行UPDATE前务必先测试验证修改结果,避免误操作:
SELECT PN, CASE WHEN RIGHT(PN, 2) = '.0' THEN LEFT(PN, LEN(PN)-2) ELSE PN END AS 修改后号码 FROM 你的表名 WHERE RIGHT(PN, 2) = '.0';
确认数据无误后再执行UPDATE语句,条件允许的话建议先备份表数据。
内容的提问来源于stack exchange,提问作者Ramon Araneta
相关产品推荐
相关产品推荐

