SQL 문제 풀이(String, Date)

1 minute read

String, Date

  • SQL 데이터 중 String, Date 타입을 처리하는 문제

Programmers에서문제를 하나씩 풀이하며 기초를 다져보자!!

1. 루시와 엘라 찾기

LINK

  • 조건 절에 string인 경우 찾는 방법이다.
  • 조건이 여러개일 경우 =가 아닌 in을 써준다.
  • 풀이
SELECT ANIMAL_ID, NAME, SEX_UPON_INTAKE
FROM ANIMAL_INS
WHERE NAME in ('Lucy', 'Ella', 'Pickle', 'Sabrina', 'Mitty')

2. 이름에 el이 들어가는 동물 찾기

LINK

  • 문자열에 포함 되는지 찾는 문제
  • LIKE를 쓰면 java에서 contains() 와 같은 기능, 문자열을 포함하는지에 대해 찾는다.
  • %를 쓸경우 해당 부분에 어떤 문자가 와도 상관이 없게 된다.
  • 풀이
SELECT ANIMAL_ID, NAME 
FROM ANIMAL_INS
WHERE NAME LIKE '%EL%' AND ANIMAL_TYPE = 'Dog'
ORDER BY NAME

3. 중성화 여부 파악하기

LINK

  • IF 문과 CASE WHEN 중 아무거나 사용해도 되는 문제
  • 조건에 따른 결과값이 다르게 출력하기 위한 문제이다.
  • IF(조건, 참일경우, 거짓일경우) 로 사용하면 된다.
  • IF를 사용한 풀이
SELECT ANIMAL_ID, NAME , 
IF(SEX_UPON_INTAKE LIKE 'Neutered%' or SEX_UPON_INTAKE LIKE 'Spayed%', 'O', 'X') as 중성화
FROM ANIMAL_INS
ORDER BY ANIMAL_ID
  • CASE WHEN을 사용한 풀이
select animal_id, name,
       case when sex_upon_intake like('%Neutered%') THEN 'O' 
            when sex_upon_intake like('%Spayed%') THEN 'O' 
       else 'X' END as 중성화
from animal_ins
order by animal_id

4. DATETIME에서 DATE로 형 변환

LINK

  • DATETIME을 DATE로 변환해주는 문제
  • DATE_FORMAT 함수를 알고 있다면 쉽지만 모른다면 어려울 문제
  • Mysql 공식문서에서 좀 더 자세히 확인해 볼 수 있다.
  • 풀이
SELECT ANIMAL_ID, NAME, DATE_FORMAT(DATETIME,'%Y-%m-%d') as '날짜'
FROM ANIMAL_INS
ORDER BY ANIMAL_ID
  • REVIEW

    DATE_FORMAT의 다양한 방법을 알아두자!

Tags:

Categories:

Updated:

Leave a comment