[SQL] 방법 정규식에서 MySQL의 쿼리
SQL방법 정규식에서 MySQL의 쿼리
내가 문자열 문자와 그 후 한 자리로 시작하는 기록을 검색 할 필요가 간단한 작업을해야합니다. 내가 노력하고있어 이것이다
SELECT trecord FROM `tbl` WHERE (trecord LIKE 'ALA[d]%')
과
SELECT trecord FROM `tbl` WHERE (trecord LIKE 'ALA[0-9]%')
그러나 쿼리 모두는 항상 널 (null) 기록을 반환
trecord
-------
null
어디에서 다음 쿼리를 실행하면 같은
SELECT trecord FROM `tbl` WHERE (trecord LIKE 'ALA%')
그것은 반환
trecord
-------
ALA0000
ALA0001
ALA0002
그것은, 내가 후 ALA와 숫자로 시작 기록을 가지고 있음을 의미
편집하다
나는 특정을 할 PHP MySQL과 이노 엔진을 사용하고 있어요.
해결법
-
==============================
1.난 당신이 정규 표현식 대신 LIKE를 사용할 수 있다고 생각
난 당신이 정규 표현식 대신 LIKE를 사용할 수 있다고 생각
SELECT trecord FROM `tbl` WHERE (trecord REGEXP '^ALA[0-9]')
-
==============================
2.내 경우 (오라클)에서는 WHERE REGEXP_LIKE (열, '정규 표현식. *')입니다. 여기를 봐:
내 경우 (오라클)에서는 WHERE REGEXP_LIKE (열, '정규 표현식. *')입니다. 여기를 봐:
(물론, REGEXP_LIKE은 당신이 완전한 일치를 원하는 그렇다면, 당신은 시작 (^)과 끝 ($) 일치, 예를 들면 위해 '^ $'를 사용해야합니다, 검색 문자열을 포함하는 쿼리를 일치 : '^ 정규식. * $ '.)
from https://stackoverflow.com/questions/18780194/how-to-regex-in-a-mysql-query by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] SQL에서 링크 된 목록 (0) | 2020.05.19 |
---|---|
[SQL] 조건 SQL 합 (0) | 2020.05.19 |
[SQL] 서브 쿼리와 MySQL을 업데이트 쿼리 (0) | 2020.05.19 |
[SQL] 역사 / 감사 데이터베이스 (0) | 2020.05.19 |
[SQL] SQL 쿼리는 여러 테이블을 조인 - 너무 느린 (8 표) (0) | 2020.05.19 |