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