문제 출처. [프로그래머스] 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;