>데이터 베이스 >MySQL 튜토리얼 >mybatis에서 사용되는 SQL 정규식 및 정규식

mybatis에서 사용되는 SQL 정규식 및 정규식

无忌哥哥
无忌哥哥원래의
2018-07-12 14:43:273350검색

이 글은 주로 SQL 정규식과 mybatis에서 정규식을 사용하는 방법을 소개합니다. 매우 훌륭하고 참고할만한 가치가 있습니다. 필요한 친구들이 참고할 수 있습니다.

mysql에서 제공하는 다른 유형의 패턴 매칭은 확장 정규식을 사용합니다. .

이러한 패턴에 대한 일치 여부를 테스트할 때는 REGEXP 및 NOT REGEXP 연산자(또는 동의어인 RLIKE 및 NOT RLIKE)를 사용하세요.

정규식을 확장하는 일부 문자는 다음과 같습니다.

"."는 모든 단일 문자와 일치합니다.
문자 클래스 "[...]"는 대괄호 안의 모든 문자와 일치합니다. 예를 들어 "[abc]"는 "a", "b" 또는 "c"와 일치합니다. 문자 범위의 이름을 지정하려면 "-"를 사용하십시오. "[a-z]"는 모든 소문자와 일치하고 "[0-9]"는 모든 숫자와 일치합니다.
" * "는 앞에 오는 항목 중 0개 이상과 일치합니다. 예를 들어, "x*"는 임의 개수의 "x" 문자와 일치하고, "[0-9]*"는 임의 개수의 자릿수와 일치하며, ".*"는 임의 개수의 임의 문자와 일치합니다.

정규식은 대/소문자를 구분하지만 원하는 경우 문자 클래스를 사용하여 두 글을 모두 일치시킬 수 있습니다. 예를 들어, "[aA]"는 소문자 또는 대문자 "a"와 일치하고 "[a-zA-Z]"는 두 가지 방식으로 작성된 모든 문자와 일치합니다.

테스트 중인 값의 어느 위치에나 나타나면 패턴이 일치합니다(SQL 패턴은 전체 값과 일치하는 한 일치합니다).

테스트 중인 값의 시작 또는 끝과 일치하도록 패턴을 배치하려면 패턴 시작 부분에 "^"를 사용하거나 패턴 끝 부분에 "$"를 사용하세요.

확장 정규식이 어떻게 작동하는지 설명하기 위해 위에 표시된 LIKE 쿼리는 REGEXP를 사용하여 아래에 다시 작성되었습니다.

"b"로 시작하는 이름을 찾으려면 "^"를 사용하여 이름의 시작 부분과 일치시키고 "[ bB] "는 소문자 또는 대문자 "b"와 일치합니다.

mysql> SELECT * FROM pet WHERE name REGEXP "^[bB]";

Myabtis

<select id="provinceLists" resultMap="BaseCountry"
 parameterType="java.lang.String">
 select
 code,label
 from institution
 where admlvl = &#39;2&#39; and
 code REGEXP "[0-9]*\.[0-9]*"
 </select>
 <select id="cityLists" resultMap="BaseCountry" parameterType="java.lang.String">
 select
 code,label
 from institution
 where admlvl = &#39;3&#39; and code REGEXP "[0-9]*\.[0-9]*\.[0-9]*"
 </select>
 <select id="countyLists" resultMap="BaseCountry" parameterType="java.lang.String">
 select
 code,label
 from institution
 where admlvl = &#39;4&#39; and code REGEXP "[0-9]*\.[0-9]*\.[0-9]*\.[0-9]*";
 </select>

에서 직접 정규식을 사용하세요.

위 내용은 mybatis에서 사용되는 SQL 정규식 및 정규식의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.