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

MySQL REGEXP를 사용하여 숫자를 무시하고 문자열 및 '/'만 가져옵니다.

<시간/>

이를 위해 REGEXP_REPLACE()를 사용합니다. 먼저 테이블을 생성하겠습니다 -

mysql> Create table DemoTable1595 -> ( -> StudentCode varchar(50) -> );쿼리 OK, 영향을 받는 행 0개(0.44초)

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

mysql> insert into DemoTable1595 values('200 John');Query OK, 1행 영향(0.22초)mysql> insert into DemoTable1595 values('101 Carol/400 Taylor');Query OK, 1행 영향(0.72 sec)mysql> insert into DemoTable1595 values('101 302 405 Sam/9870');쿼리 OK, 1행 영향(0.28초)

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

mysql> DemoTable1595에서 * 선택;

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

+----------------------+| 학생 코드 |+----------------------+| 200 존 || 101 캐롤/400 테일러 || 101 302 405 Sam/9870 |+----------------------+세트에 3행(0.00초)

다음은 MySQL REGEXP를 사용하여 숫자를 무시하고 문자열과 '/' -

만 가져오는 쿼리입니다. <미리>mysql> select regexp_replace(학생코드,' *[0-9]+([.,][0-9]+)?(/[0-9]+([.,][0-9]+ )?)? *', '') DemoTable1595에서 `GetOnlyStringand/`로;

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

+-------------------+| GetOnlyStringand/ |+-------------------+| 존 || 캐롤/테일러 || Sam/ |+-------------------+3행 세트(0.00초)