1. SQL 숫자 함수
숫자 함수는 데이터베이스에서 숫자 데이터를 처리하고 계산하는 데 사용됩니다. 각 데이터베이스 시스템(MySQL, Oracle, SQL Server 등)마다 약간의 차이가 있을 수 있으나, 대부분의 기본 함수는 공통적입니다.
ABS(x) - 절대값
숫자의 절대값을 반환합니다. 즉, 부호를 제거하고 항상 양수 값을 반환합니다.
SELECT ABS(-15); -- 결과: 15
SELECT ABS(15); -- 결과: 15
ROUND(x, d) - 반올림
숫자 x를 소수점 d자리까지 반올림합니다. d를 생략하면 정수로 반올림합니다.
SELECT ROUND(123.456, 2); -- 결과: 123.46
SELECT ROUND(123.456, 0); -- 결과: 123
SELECT ROUND(123.456, -1); -- 결과: 120 (10의 자리에서 반올림)
CEIL(x) / CEILING(x) - 올림
x보다 크거나 같은 가장 작은 정수를 반환합니다.
SELECT CEIL(123.45); -- 결과: 124
SELECT CEILING(123.01); -- 결과: 124
FLOOR(x) - 내림
x보다 작거나 같은 가장 큰 정수를 반환합니다.
SELECT FLOOR(123.95); -- 결과: 123
SELECT FLOOR(-123.95); -- 결과: -124
TRUNCATE(x, d) - 버림
숫자 x를 소수점 d자리까지 자릅니다(버림). d가 음수이면 정수 부분에서 해당 자릿수만큼 0으로 만듭니다.
SELECT TRUNCATE(123.456, 2); -- 결과: 123.45
SELECT TRUNCATE(123.456, 0); -- 결과: 123
SELECT TRUNCATE(123.456, -1); -- 결과: 120
MOD(x, y) / x % y - 나머지
x를 y로 나눈 나머지를 반환합니다.
SELECT MOD(15, 4); -- 결과: 3
SELECT 15 % 4; -- 결과: 3 (대부분의 SQL에서 지원)
SIGN(x) - 부호
숫자 x의 부호를 반환합니다. 양수면 1, 음수면 -1, 0이면 0을 반환합니다.
SELECT SIGN(15); -- 결과: 1
SELECT SIGN(-15); -- 결과: -1
SELECT SIGN(0); -- 결과: 0
2. SQL 날짜 함수
날짜 함수는 데이터베이스에서 날짜와 시간을 처리하는 데 사용됩니다.
현재 날짜와 시간 가져오기
SELECT CURDATE(); -- 현재 날짜 (YYYY-MM-DD)
SELECT CURRENT_DATE(); -- 현재 날짜 (YYYY-MM-DD)
SELECT CURTIME(); -- 현재 시간 (HH:MM:SS)
SELECT CURRENT_TIME(); -- 현재 시간 (HH:MM:SS)
SELECT NOW(); -- 현재 날짜와 시간 (YYYY-MM-DD HH:MM:SS)
SELECT SYSDATE(); -- 현재 날짜와 시간 (YYYY-MM-DD HH:MM:SS)
날짜 부분 추출하기
SELECT YEAR('2025-03-31'); -- 결과: 2025
SELECT MONTH('2025-03-31'); -- 결과: 3
SELECT DAY('2025-03-31'); -- 결과: 31
SELECT HOUR('15:30:45'); -- 결과: 15
SELECT MINUTE('15:30:45'); -- 결과: 30
SELECT SECOND('15:30:45'); -- 결과: 45
SELECT DAYNAME('2025-03-31'); -- 결과: Monday (요일 이름)
SELECT MONTHNAME('2025-03-31'); -- 결과: March (월 이름)
SELECT DAYOFWEEK('2025-03-31'); -- 결과: 2 (1=일요일, 2=월요일, ...)
SELECT DAYOFYEAR('2025-03-31'); -- 결과: 90 (연중 몇 번째 날)
SELECT WEEKOFYEAR('2025-03-31'); -- 결과: 14 (연중 몇 번째 주)'BOOK' 카테고리의 다른 글
| [Do it SQL] Chapter 07-1 (0) | 2025.04.04 |
|---|---|
| [Do it SQL] Chapter 06-5/ 06-6 (0) | 2025.04.02 |
| [Do it SQL] Chapter 06-1/ 06-2 (1) | 2025.03.29 |
| [Do it SQL] Chapter 05-3 (0) | 2025.03.25 |
| [Do it SQL] Chapter 05-1/ 05-2 (2) | 2025.03.24 |