like
-
MySQL - 패턴 매칭(LIKE, REGEXP)Database/MySQL 2023. 2. 22. 16:03
패턴 매칭(LIKE, REGEXP) LIKE SELECT * FROM MEMBER WHERE NAME LIKE '홍%'; - LIKE 연산자는 특정 패턴을 포함하는 데이터만을 검색하기 위해 사용된다. - 위 예제는 MEMBER 테이블에서 '홍'으로 시작하는 이름(NAME)을 가진 레코드를 조회하기 위한 예제이다. SELECT * FROM MEMBER WHERE NAME NOT LIKE '홍%'; - 만약, 특정 패턴을 포함하지 않는 데이터를 검색하고 싶을 때는 NOT LIKE 연산자를 사용하면 된다. - 위 예제는 MEMBER 테이블에서 '홍'으로 시작하지 않은 이름(NAME)을 가진 레코드를 조회하기 위한 예제이다. 와일드카드 와일드카드 설명 % 0개 이상의 문자를 대체한다. _ 1개의 문자를 대체한다..
-
MyBatis - 대소문자 구분 없이 데이터 조회하기Database/MyBatis 2022. 3. 24. 17:06
대소문자 구분 없이 데이터 조회 기존의 코드 SELECT FROM TBL_XBR_IDX_CALC WHERE (INDX_NM LIKE '%' || #{indexNameKeyword} || '%' ${searchType} TRGT_ELMT_ID LIKE '%' || #{elementIdKeyword} || '%') ORDER BY INDX_SEQ, CACL_ORD 사용자로부터 검색어를 입력받아 해당 검색어를 포함하고 있는 데이터를 출력하는 쿼리문이다. 테스트 결과 대소문자를 구분하여 데이터를 조회한다는 문제점을 파악하고, 위 쿼리문을 대소문자 구분 없이 데이터를 조회할 수 있는 쿼리문으로 변경하기 위한 작업을 시작했다. lower, upper의 이용 LOWER(column_name) LIKE ('%' || ..
-
MyBatis - DBMS 별 LIKE 문법Database/MyBatis 2022. 3. 21. 13:54
LIKE 검색 MyBatis 환경에서 파라미터를 통해 데이터를 조회하고자 하였다. 기존에 작성했었던 문법으로 LIKE 절을 사용하였으나, 원하는 결과를 얻지 못했다. 원인을 찾아본 결과 DBMS에 맞게 문자열 합치기 함수를 사용해야 한다는 것을 알게 되었다. 본인은 Oracle DBMS를 사용하면서 MySQL DBMS에 해당하는 문법을 사용한 것이었다. 아래는 DBMS의 대표적인 예인 MySQL, Oracle, MS-SQL에서 LIKE 문법을 사용하는 방법이다. MySQL SELECT * FROM table_name WHERE search_colum LIKE CONCAT('%', #{searchKeyWord}, '%') Oracle SELECT * FROM table_name WHERE search_co..