DATEDIFF(<끝나는 날짜>, <시작하는 날짜>)+ 1
+1
은 필요 없을 수도 있지만
문제에 따라서 필요한 경우가 많음
YEAR(date)
=> date 중 연도만
MONTH(date)
=> date 중 month만
(예) YEAR(date) = 2021
DATE_FORMAT(date, '%Y-%m-%d')
Y를 소문자로 쓰면 2022 중 22만 보존한다
SELECT
CASE WHEN <조건> THEN <결과>
WHEN <조건2> THEN <결과2>
ELSE <결과3> END
AS <결과열 이름>
SELECT PT_NAME, PT_NO, GEND_CD, AGE,
CASE WHEN TLNO IS NULL THEN 'NONE'
ELSE TLNO END AS TLNO
FROM PATIENT
WHERE AGE <= 12 AND GEND_CD = 'W'
ORDER BY AGE DESC, PT_NAME ASC;
SELECT *
FROM <테이블1>
INNER JOIN <테이블2> ON <테이블1의 열> = <테이블2의 열>
SELECT FIRST_HALF.FLAVOR
FROM FIRST_HALF
INNER JOIN ICECREAM_INFO ON ICECREAM_INFO.FLAVOR = FIRST_HALF.FLAVOR
WHERE INGREDIENT_TYPE = 'fruit_based' AND TOTAL_ORDER >= 3000
ORDER BY TOTAL_ORDER DESC;
ROUND(AVG(<컬럼명>), 1))
=> 소수점 둘째 자릿수에서 round up
문자열 비교시 컬럼값이 1. 타겟 문자열로 시작하는지
WHERE OPTIONS LIKE '네비게이션'
WHERE OPTIONS LIKE '%네비게이션'
타겟 문자열이 컬럼값에 포함되어있는지
WHERE OPTIONS LIKE '%네비게이션%'
NULL 여부 확인
WHERE LENGTH IS NULL
또는
WHERE LENGTH IS NOT NULL
SELECT IFNULL(NULL, "HELLO");
컬럼값이 NULL
이면 "HELLO"
반환
컬럼값이 NULL
이 아니면 컬럼값 그대로 반환
단위 붙이기.. 등
SELECT CONCAT(LENGTH, 'cm') AS MAX_LENGTH
버림의 개념
SELECT (CASE WHEN PRICE < 10000 THEN 0 ELSE TRUNCATE(PRICE, -4) END)
AS PRICE_GROUP