문제 출처. [프로그래머스] String, Date 문제
문제
풀이
SELECT ANIMAL_ID, NAME, SEX_UPON_INTAKE FROM ANIMAL_INS
WHERE NAME IN ("Lucy", "Ella", "Pickle", "Rogan", "Sabrina", "Mitty");
문제
풀이
=
는 LIKE
로 대체가능SELECT ANIMAL_ID, NAME FROM ANIMAL_INS
WHERE ANIMAL_TYPE = "Dog" AND NAME LIKE "%eL%"
ORDER BY NAME;
문제
풀이
IF()
로 체크할 수 있다.SELECT ANIMAL_ID, NAME,
IF(SEX_UPON_INTAKE LIKE "Intact%", "X", "O") AS "중성화"
FROM ANIMAL_INS ORDER BY ANIMAL_ID;
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
ORDER BY ANIMAL_ID
SELECT ANIMAL_ID,
NAME,
IF(SEX_UPON_INTAKE REGEXP 'Neutered|Spayed', 'O' , 'X') AS 중성화
FROM ANIMAL_INS
문제
풀이
INNER JOIN
한다.LIMIT 2
로 두 마리 출력TIMESTAMPDIFF
또는 DATETIME
사용가능SELECT `IN`.ANIMAL_ID, `IN`.NAME FROM ANIMAL_INS AS `IN`
INNER JOIN ANIMAL_OUTS AS `OUT`
ON `IN`.ANIMAL_ID = `OUT`.ANIMAL_ID
ORDER BY TIMESTAMPDIFF(MINUTE, `IN`.DATETIME, `OUT`.DATETIME) DESC LIMIT 2;
문제
풀이
DATE_FORMAT(날짜, 형식)
함수 사용SELECT ANIMAL_ID, NAME, DATE_FORMAT(DATETIME, "%Y-%m-%d")
FROM ANIMAL_INS ORDER BY ANIMAL_ID;