2016-11-24 1 views
0

mobile이라는 열이있는 users 데이터베이스 테이블이 있습니다. 모든 휴대 전화 번호는 0 예를 들어 시작 : 0455000000전화 번호의 첫 번째 숫자 바꾸기 mysql

나는 항상 ONLY 매우 첫 번째 번호를 대체하려는 061455000000

0455000000에서 휴대 전화 번호를 설정 할

61와 나는 trim 문을 사용하는 것이 효과적 일지 모르지만 그것을 구현하는 방법을 모르겠다.

+1

무엇으로 바꾸시겠습니까? – barudo

+0

죄송합니다. 업데이트하다 – Elgoots

답변

4

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 
2

사용 substring 모바일에서 첫 번째 문자를 제거하고 concat 대체하고 싶은 처음에 값 :

UPDATE users 
SET mobile = concat('61', substring(mobile, 2)) 

이것은 ANSI-SQL은 준수. 당신이 (61), 앞에 추가를 처음 0을 제거 ... 그리고 dB에 삽입하려면

0

를 사용

set @phone = '0455000000'; 
select CONCAT_WS("",'61',SUBSTR(@phone FROM 2)); 
관련 문제