SQL_(String,Date)

String,Date

  1. 루시와 엘라 찾기
SELECT ANIMAL_ID, NAME, SEX_UPON_INTAKE
FROM ANIMAL_INS
WHERE NAME = "Lucy" or NAME = "Ella" or NAME = "Pickle" or NAME = "Rogan" or NAME = "Sabrina" or NAME = "Mitty"
Order By ANIMAL_ID
  • 이렇게도 풀 수 있지만, IN을 활용하면 더 편하다
SELECT ANIMAL_ID, NAME, SEX_UPON_INTAKE
FROM ANIMAL_INS
WHERE NAME In ("Lucy", "Ella", "Pickle", "Rogan", "Sabrina", "Mitty")
Order By ANIMAL_ID
  1. 이름이 el이 들어가는 동물 찾기
SELECT ANIMAL_ID, NAME
FROM ANIMAL_INS
WHERE ANIMAL_TYPE = "Dog" and NAME LIKE '%el%'
ORDER BY NAME
  1. 중성화 여부 파악하기
  • CASE ~ WHEN ~ THEN ~ELSE END를 써야하는 문제
SELECT ANIMAL_ID, NAME,
CASE
    WHEN SEX_UPON_INTAKE LIKE "%Neutered%" OR SEX_UPON_INTAKE LIKE "%Spayed%" THEN "O" ELSE 'X' END as 중성화
FROM ANIMAL_INS
  1. 오랜 기간 보호한 동물(2)
  • DATEDIFF(DATE1,DATE2)를 사용해서 풀 수 있다
  • DATEDIFF는 Day의 차이를 반환하고
  • TIMESTAMPDIFF(단위,DATE1,DATE2)는 단위별로 차이를 구할 수 있다
  • 단위 : SECOND, MINUTE,HOUR,DAY,WEEK,MONTH,QUARTER,YEAR
SELECT A.ANIMAL_ID, A.NAME
FROM ANIMAL_INS as A, ANIMAL_OUTS as B
WHERE A.ANIMAL_ID = B.ANIMAL_ID
ORDER BY DATEDIFF(A.DATETIME,B.DATETIME)
LIMIT 2
  1. DATETIME에서 DATE로 형변환
  • DATE_FORMAT(DATE,형식)을 통해 DATE의 형식을 바꿀 수 있다.
SELECT ANIMAL_ID, NAME ,DATE_FORMAT(DATETIME,'%Y-%m-%d')
FROM ANIMAL_INS
  • 형식에는 %Y(4자리 연도), %y(2자리 연도), %m(월), %d(일), %H(24시간), %h(12시간), %i, %s가 있다.

참고자료 프로그래머스 코딩테스트 연습 (sql)

0%