SQL/참고자료

[SQL] 대소문자 구분 없이 특정 문자열 포함하는 데이터 조회

SeungyubLee 2022. 11. 29. 12:35

ANIMAL_INS 테이블의 데이터 중 NAME 컬럼 값이 대소문자 구분 없이

'el'을 포함하면서 ANIMAL_TYPE이 'Dog'인 데이터의 ANIMAL_ID와 NAME을 오름차순으로 정렬

 

<MySQL>

UPPER(NAME) : NAME 컬럼 값의 대문자

LOWER(NAME) : NAME 컬럼 값의 소문자

LIKE : 같은지 비교

CONCAT('A', 'B', 'C') : 'A'와 'B'와 'C'를 연결

'%' : 임의의 문자열('_' : 하나의 문자)

SELECT ANIMAL_ID
     , NAME
  FROM ANIMAL_INS
 WHERE UPPER(NAME) LIKE UPPER('%el%')
   AND ANIMAL_TYPE = 'Dog'
ORDER BY NAME
SELECT ANIMAL_ID
     , NAME
  FROM ANIMAL_INS
 WHERE UPPER(NAME) LIKE CONCAT('%', UPPER('el'), '%')
   AND ANIMAL_TYPE = 'Dog'
ORDER BY NAME

<Oracle>

UPPER(NAME) : NAME 컬럼 값의 대문자

LOWER(NAME) : NAME 컬럼 값의 소문자

LIKE : 같은지 비교

'A' || 'B' || 'C' : 'A'와 'B'와 'C'를 연결

'%' : 임의의 문자열('_' : 하나의 문자)

SELECT ANIMAL_ID
     , NAME
  FROM ANIMAL_INS
 WHERE UPPER(NAME) LIKE UPPER('%el%')
   AND ANIMAL_TYPE = 'Dog'
ORDER BY NAME
SELECT ANIMAL_ID
     , NAME
  FROM ANIMAL_INS
 WHERE UPPER(NAME) LIKE '%' || UPPER('el') || '%'
   AND ANIMAL_TYPE = 'Dog'
ORDER BY NAME