mobile
이라는 열이있는 users
데이터베이스 테이블이 있습니다. 모든 휴대 전화 번호는 0
예를 들어 시작 : 0455000000
전화 번호의 첫 번째 숫자 바꾸기 mysql
나는 항상 ONLY 매우 첫 번째 번호를 대체하려는 0
61455000000
에 0455000000
에서 휴대 전화 번호를 설정 할
61
와 나는 trim 문을 사용하는 것이 효과적 일지 모르지만 그것을 구현하는 방법을 모르겠다.
mobile
이라는 열이있는 users
데이터베이스 테이블이 있습니다. 모든 휴대 전화 번호는 0
예를 들어 시작 : 0455000000
전화 번호의 첫 번째 숫자 바꾸기 mysql
나는 항상 ONLY 매우 첫 번째 번호를 대체하려는 0
61455000000
에 0455000000
에서 휴대 전화 번호를 설정 할
61
와 나는 trim 문을 사용하는 것이 효과적 일지 모르지만 그것을 구현하는 방법을 모르겠다.
MySQL에는 insert()
이라는 편리한 기능이 있습니다. 이렇게하면 부분 문자열을 위치로 대체 할 수 있습니다.
그래서 :
select insert(phone, 1, 1, '') -- gets rid of the first digit
select insert(phone, 1, 1, 'Mobile #') -- replaces the first digit with a different prefix
사용 substring
모바일에서 첫 번째 문자를 제거하고 concat
대체하고 싶은 처음에 값 :
UPDATE users
SET mobile = concat('61', substring(mobile, 2))
이것은 ANSI-SQL은 준수. 당신이 (61), 앞에 추가를 처음 0을 제거 ... 그리고 dB에 삽입하려면
, 이렇게 :
INSERT into phone_numbers(id, number) VALUE (null, CONCAT('61', SUBSTR('0455000000', 2)))
은 기본적으로는 SUBSTR에게 어떻게이 방법에 대한 http://dev.mysql.com/doc/refman/5.7/en/string-functions.html#function_substr
를 사용
를set @phone = '0455000000';
select CONCAT_WS("",'61',SUBSTR(@phone FROM 2));
무엇으로 바꾸시겠습니까? – barudo
죄송합니다. 업데이트하다 – Elgoots