MySQL 문자열에서 밑줄을 일치시키려면 아래 구문을 사용할 수 있습니다 -
select *from yourTableName where yourColumnName LIKE '%\_%';
먼저 테이블을 생성하겠습니다 -
mysql> create table DemoTable ( ClientId varchar(200) ); Query OK, 0 rows affected (0.79 sec)
삽입 명령을 사용하여 테이블에 일부 레코드 삽입 -
mysql> insert into DemoTable values('CLI_101'); Query OK, 1 row affected (0.13 sec) mysql> insert into DemoTable values('CLI1110'); Query OK, 1 row affected (0.13 sec) mysql> insert into DemoTable values('_CLI102'); Query OK, 1 row affected (0.16 sec) mysql> insert into DemoTable values('CLI103_'); Query OK, 1 row affected (0.12 sec) mysql> insert into DemoTable values('CLI1111'); Query OK, 1 row affected (0.16 sec)
다음은 select 문을 사용하여 테이블의 모든 레코드를 표시하는 쿼리입니다 -
mysql> select *from DemoTable;
이것은 다음과 같은 출력을 생성합니다 -
+----------+ | ClientId | +----------+ | CLI_101 | | CLI1110 | | _CLI102 | | CLI103_ | | CLI1111 | +----------+ 5 rows in set (0.00 sec)
다음은 LIKE −
를 사용하여 String의 밑줄을 일치시키는 쿼리입니다.mysql> select *from DemoTable where ClientId LIKE '%\_%';
그러면 밑줄이 있는 문자열을 표시하는 다음 출력이 생성됩니다 -
+----------+ | ClientId | +----------+ | CLI_101 | | _CLI102 | | CLI103_ | +----------+ 3 rows in set (0.00 sec)
대체 쿼리를 사용할 수 있습니다 -
mysql> select *from DemoTable where ClientId REGEXP '_';
이것은 다음과 같은 출력을 생성합니다 -
+----------+ | ClientId | +----------+ | CLI_101 | | _CLI102 | | CLI103_ | +----------+ 3 rows in set (0.00 sec)