Contents
내가 작성한 쿼리
내가 작성한 쿼리
Oracle
SELECT
ORDER_ID,
PRODUCT_ID,
TO_CHAR(OUT_DATE,'YYYY-MM-DD') OUT_DATE,
CASE
WHEN OUT_DATE <= DATE '2022-05-01' THEN '출고완료'
WHEN OUT_DATE > DATE '2022-05-01' THEN '출고대기'
ELSE '출고미정'
END AS 출고여부
FROM
FOOD_ORDER
ORDER BY
ORDER_ID;
MySQL
SELECT
ORDER_ID,
PRODUCT_ID,
DATE_FORMAT(OUT_DATE,'%Y-%m-%d') OUT_DATE,
CASE
WHEN OUT_DATE <= '2022-05-01' THEN '출고완료' -- WHEN DATEDIFF('2022-05-01', OUT_DATE) >= 0 THEN '출고완료'
WHEN OUT_DATE > '2022-05-01' THEN '출고대기' -- WHEN DATEDIFF('2022-05-01', OUT_DATE) < 0 THEN '출고대기'
ELSE '출고미정'
END AS 출고여부
FROM
FOOD_ORDER
ORDER BY
ORDER_ID;
차이점
- 날짜 변환 방식의 차이
- 묵시적 형변환 범위의 차이
MySQL
: 넓은 범위를 지원Oracle
: 좁은 범위를 지원 → 문자열 ↔ 숫자, 문자열 ↔ 날짜 지원
Share article