SQL - 如果以数字'9'开头,则删除第一个数字

时间:2013-06-05 08:44:17

标签: mysql

基本上我有一个名为'Telephone'的表,其中有超过100,000条记录。

在这个数据库中,我有数字,如: -

90123456789

91234567893

97126372319

基本上我想更新Telephone.DB并设置数字,这样只有当它以数字'9'开头时它才会删除第一个数字,所以结果最终会如下: -

0123456789

1234567893

7126372319

知道如何使用MySQL实现这一目标吗?

2 个答案:

答案 0 :(得分:4)

如果数据类型是字符串类型,则应该这样做;

UPDATE numbers 
SET number = SUBSTR(number, 2)
WHERE number LIKE '9%';

An SQLfiddle to test with

与往常一样,在生产数据库上从Internet上的随机人员运行更新之前测试自己:)

答案 1 :(得分:1)

好的,这适用于VARCHAR列。您可以随时将值转换为varchar:

SELECT CONCAT(REPLACE(SUBSTR(PHONEFIELD,1,1),9,''), SUBSTR(PHONEFIELD,2)) AS PHONEWITHOUTNINE FROM TABLENAME

检查一下,告诉我它是否有效。