알고리즘
SQL 정리
kyj0032
2024. 2. 28. 17:31
코테 전에 잠시 보는 용도로 기록
날짜 column
DATE_FORMAT(col이름, '%Y-%m-%d') AS '날짜'
여러 개 정렬
ORDER BY col1 DESC, col2 ASC;
여러 개 group by
GROUP BY A, B
CASE ~ WHEN 구문
CASE
WHEN 조건 THEN '단기 대여'
ELSE '장기 대여'
END
UNION
union후에 union한 집합을 order by 로 정렬 가능
날짜 차이 계산
DATEDIFF (종료일, 시작일) +1
그냥 string 빼기하면 '2023-01-01' - '2022-12-03' 같은 경우 음수가 나옴
날짜 BETWEEN
날짜 BETWEEN A AND B
여기서 B는 포함되지 않음
왜냐하면 '2023-12-25' == '2023-12-25 00:00:00'이기 때문에 25 당일날 시간은 포함 안 됨
반올림
ROUND(123.567, 0)
0째 자리까지 반올림 (==첫째 자리에서 반올림)
WITH AS 구문
WITH 별명 AS
(
...SQL 문...
)
...SQL 문...
DISTINCT
SELECT DISTINCT USER, ...
문자열 붙이기
CONCAT('안녕', '하세요')
or
'안녕' + '하세요'
+도 가능하나 문자열에서는 CONCAT 권장