Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

MySQL REGEXP를 사용하여 우편 번호 필드에서 -XXX를 제거하는 방법은 무엇입니까?

<시간/>

이것을 달성하는 가장 쉬운 방법은 MySQL SUBSTRING_INDEX() 함수를 사용하는 것입니다. 먼저 테이블을 생성하겠습니다 -

mysql> Create table DemoTable( ZipCode varchar(50));Query OK, 영향을 받는 행 0개(2.02초)

삽입 명령을 사용하여 테이블에 일부 레코드 삽입 -

mysql> DemoTable 값에 삽입('52533-909');쿼리 OK, 1행 영향(0.23초)mysql> DemoTable 값에 삽입('12345-674');쿼리 OK, 1행 영향(0.27초) )mysql> DemoTable 값에 삽입('89893-890');쿼리 OK, 1행 영향(0.21초)mysql> DemoTable 값에 삽입('AAAAA-783');쿼리 OK, 1행 영향(0.25초) 

select 문을 사용하여 테이블의 모든 레코드 표시 -

mysql> DemoTable에서 *선택;

이것은 다음과 같은 출력을 생성합니다 -

+-----------+| 우편번호 |+-----------+| 52533-909 || 12345-674 || 89893-890 || AAAAA-783 |+-----------+4행 세트(0.00초)

다음은 substring_index() −

를 사용하여 우편번호에서 -XXX를 제거하는 쿼리입니다.
mysql> update DemoTable set ZipCode=substring_index(ZipCode, '-', 1);Query OK, 영향을 받는 행 4개(0.44초) 일치하는 행:4 변경됨:4 경고:0

다시 한번 테이블 기록을 확인해보자 -

mysql> DemoTable에서 *선택;

이것은 다음과 같은 출력을 생성합니다 -

+---------+| 우편번호 |+---------+| 52533 || 12345 || 89893 || AAAAA |+---------+4행 세트(0.00초)