온라인 정규식 테스터에서 작동하는 MariaDB regex가 SELECT WHERE REGEXP에서 작동하지 않음
잘못된 형식 E로 주어진 데이터 세트에 문제가 있습니다.gfullName검색하고자 하는 이름 중 E로 시작하는 이름이 있으면 열과 이름을 구분하지 않습니다.g'J'
그래서 이게 제 진술인데 예상치 못한 것에 대한 불만이 들어왔어요.REGEXP
SELECT * FROM `Officers` WHERE `fullName` REGEXP '.*\sJ.*';
MariaDB에서 이것을 할 수 있는 방법이 있을까요?유감스럽게도 이름은 고정된 단어 수가 아닙니다.어떤 이름은 2개뿐이고 어떤 이름은 6개이고 중간 이름은 4개입니다.
사용할 수 있습니다.
REGEXP '\\bJ'
^^^
여기, 그\b단어 경계는 다음과 같은 경우에만 일치하도록 강제합니다.J문자, 숫자 또는 숫자 앞에 입력되지 않습니다._.
그\regex 엔진은 리터럴을 예측하기 때문에 2배가 됩니다.\및 2개의 백슬래시가 필요합니다.
다음과 같은 방법을 사용해 보십시오.
SELECT * FROM `Officers` WHERE `fullName` REGEXP '[[:<:]]J'
다음 문서를 참조하십시오.https://dev.mysql.com/doc/refman/5.7/en/regexp.html
언급URL : https://stackoverflow.com/questions/46471187/mariadb-regex-working-in-online-regex-testers-does-not-work-in-select-where-rege
'source' 카테고리의 다른 글
| MySQL의 LIMIT 절 변수 사용 (0) | 2022.11.13 |
|---|---|
| MySQL 8.0+의 PHP 오류:서버가 클라이언트에서 알 수 없는 인증 방법을 요청했습니다. (0) | 2022.11.13 |
| MySQL tc.log 파일 (0) | 2022.11.13 |
| mysql 선택 쿼리에서 두 날짜 사이의 날짜 목록을 가져오는 방법 (0) | 2022.11.13 |
| Vuex 변환 매개 변수와 충돌하는 SonarQube 규칙을 사용하지 않도록 설정하려면 어떻게 해야 합니까? (0) | 2022.11.13 |