[프로그래머스] SQL 고득점 Kit/String, Date
-
* [Level 2] DATETIME에서 DATE로 형 변환: DATE_FORMAT[프로그래머스] SQL 고득점 Kit/String, Date 2022. 10. 9. 00:45
[ 문제] ANIMAL_INS 테이블에 등록된 모든 레코드에 대해, 각 동물의 아이디와 이름, 들어온 날짜1를 조회하는 SQL문을 작성해주세요. 이때 결과는 아이디 순으로 조회해야 합니다. 형식 변환: 2018-01-22 14:32:00 → 2018-01-22 DATE_FORMAT 사용 SELECT ANIMAL_ID, NAME, DATE_FORMAT(DATETIME, '%Y-%m-%d') AS '날짜' FROM ANIMAL_INS ORDER BY ANIMAL_ID Date 형식 %Y : 4자리 연도 %y : 2자리 연도 %m : 2자리 월 %d : 2자리 일 %H : 24시간 형식 시(00-23) %h : 12시간 형식 시(01-12) %i : 2자리 분(0-59) %S, %s : 2자리 초(0-59)
-
* [Level 3] 오랜 기간 보호한 동물(2): DATEDIFF, LIMIT[프로그래머스] SQL 고득점 Kit/String, Date 2022. 10. 9. 00:32
[문제] 입양을 간 동물 중, 보호 기간이 가장 길었던 동물 두 마리의 아이디와 이름을 조회하는 SQL문을 작성해주세요. 이때 결과는 보호 기간이 긴 순으로 조회해야 합니다. SELECT O.ANIMAL_ID, O.NAME FROM ANIMAL_INS AS I, ANIMAL_OUTS AS O WHERE I.ANIMAL_ID = O.ANIMAL_ID ORDER BY DATEDIFF(O.DATETIME, I.DATETIME) DESC LIMIT 2 DATEDIFF 날짜 차이 계산 SELECT DATEDIFF('구분자','Start_Date','End_Date') LIMIT N: 순서대로 N개만 출력
-
* [Level 2] 중성화 여부 파악하기: REGEXP[프로그래머스] SQL 고득점 Kit/String, Date 2022. 10. 8. 23:53
[문제] 보호소의 동물이 중성화되었는지 아닌지 파악하려 합니다. 중성화된 동물은 SEX_UPON_INTAKE 컬럼에 'Neutered' 또는 'Spayed'라는 단어가 들어있습니다. 동물의 아이디와 이름, 중성화 여부를 아이디 순으로 조회하는 SQL문을 작성해주세요. 이때 중성화가 되어있다면 'O', 아니라면 'X'라고 표시해주세요. 'Neutered' 또는 'Spayed'라는 단어가 들어있다는 조건을 OR로 표현한 코드 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 LIKE 여러 개 ..
-
* [Level 3] 조건별로 분류하여 주문상태 출력하기: CASE[프로그래머스] SQL 고득점 Kit/String, Date 2022. 10. 8. 23:37
[문제] FOOD_ORDER 테이블에서 5월 1일을 기준으로 주문 ID, 제품 ID, 출고일자, 출고여부를 조회하는 SQL문을 작성해주세요. 출고여부는 5월 1일까지 출고완료로 이 후 날짜는 출고대기로 미정이면 출고미정으로 출력해주시고, 결과는 주문 ID를 기준으로 오름차순 정렬해주세요. SELECT ORDER_ID, PRODUCT_ID, OUT_DATE, CASE WHEN OUT_DATE '2022/05/01' THEN '출고대기' ELSE '출고미정' END AS "출고여부" FROM FOOD_ORDER ORDER BY ORDER_ID