티스토리 뷰
📍 단일 행 함수 — 숫자
▶ ROUND / TRUNCATE
ROUND (숫자, 반올림할 자리) | – 숫자를 반올림할 자리까지 반올림을 해주는 함수 – 반올림할 자리 생략 시 일의 자리로 반올림함 – 소수점을 기준으로 양수(오른쪽), 음수(왼쪽), 0(소수점) |
TRUNCATE (숫자, 버림할 자리) | – 숫자를 버림할 자리까지 남기고 버림을 해주는 함수 – 소수점을 기준으로 양수(오른쪽), 음수(왼쪽), 0(소수점) |
EX1 ) round 사용
SELECT round(45.923, 2), round(45.923, 0), round(45.923, -1);
✓ 실행 결과
→ 반올림할 자리가 양수면 소수점기준 오른쪽부터 자리를 정하고,
음수면 소수점기준 왼쪽부터 자리를 정하고,
0이면 소수점 자체를 기준으로 반올림하여 정수로 만듬.
EX2 ) truncate 사용
SELECT truncate(45.923, 2), truncate(45.923, 0), truncate(45.923, -1);
✓ 실행 결과
→ round와 기준은 동일하며, 반올림을 할 지 버릴지가 다름.
→ 해당하는 자리수부터 값을 버림.
▶ CEIL / FLOOR
CEIL (숫자) | – 일의 자리로 올림. – 소수점단위를 무조건 올려서 정수로 만들어줌. |
FLOOR (숫자) | – 일의 자리까지 버림. – 소수점단위를 무조건 버려서 정수로 만들어줌. – truncate는 버림할 자리를 고를 수 있지만 얘는 못 고름. |
EX1 ) CEIL 사용
SELECT ceil(45.923), ceil(52.1);
✓ 실행 결과
EX2 ) FLOOR 사용
SELECT floor(45.923), floor(52.1);
✓ 실행 결과
▶ MOD (숫자1, 숫자2)
– 숫자1을 숫자2로 나눈 나머지를 반환.
EX1 ) 나머지 연산자( % ) & 나누기 연산자( / )와 비교
SELECT mod(157, 10), 157 MOD 10, 157 % 10, 157 / 10;
✓ 실행 결과
— 157 / 10의 몫이 '15.7000'으로 소수점 자리를 없애서 앞의 연산과 같이 정수로 만들고 싶음.
SELECT mod(157, 10), 157 MOD 10, 157 % 10, truncate((157 / 10), 0);
✓ 실행 결과
→ MOD는 나머지를 반환하는 함수이므로, % 나머지 연산자와 같은 결과가 나옴.
→ 몫이 소수점으로 나오므로 소수점을 버려서 나머지와 같은 정수타입으로 만들어줌.
EX2 ) 테이블에 출력
SELECT last_name, salary, mod(salary, 5000)
FROM employees
WHERE job_id = 'SA_REP';
✓ 실행 결과
→ salary를 5000으로 나눴을 때 4500의 값이 나온다는건 몫이 없다는 뜻.
EX3 ) 짝수인지 홀수인지 확인
SELECT employee_id, mod(employee_id, 2)
FROM employees;
✓ 실행 결과
→ 숫자를 2로 나누었을 때, 나머지가 1이라면 홀수, 0이라면 짝수로 판별 가능하므로,
MOD를 사용해 2로 나누었을 때의 나머지 값으로 홀짝 판별이 가능함.
EX3-1 ) 사번이 짝수인 사원을 출력해보기
SELECT employee_id, last_name
FROM employees
WHERE mod(employee_id, 2) = 0;
✓ 실행 결과
→ 각 절이 가진 특징을 알면 쉽게 풀 수 있는 문제
SELECT절은 출력 부분, FROM절은 테이블 선택 부분, WHERE절은 비교 조건 작성 부분.
▶ ABS (숫자)
– 숫자의 절대 값(absolute)을 반환
EX )
SELECT abs(-5), abs(5), abs(-4.5);
✓ 실행 결과
▶ POWER / POW (숫자, 제곱값)
– 숫자의 제곱 값(거듭 제곱)을 계산하여 반환.
EX )
SELECT power(2, 3), power(8, 13);
✓ 실행 결과
SELECT pow(4, 1), pow(4, 3), pow(5, 0);
✓ 실행 결과
→ pow(a, b)에서 a는 밑의값, b는 지수값.
→ pow(5, 0), 모든 수의 0승은 '1'
▶ SIGN (숫자)
– 양수인지 음수인지 0인지 판별해주므로, 주로 판별하는 목적으로 많이 사용함.
– 숫자가 양수면 1, 음수면 -1, 0이면 0을 반환.
EX )
SELECT sign(3), sign(-3), sign(4.26), sign(-4.26), sign(0);
✓ 실행 결과
'DB > MySQL' 카테고리의 다른 글
서브쿼리 (SubQuery) (0) | 2023.03.14 |
---|---|
그룹 함수 — 그룹화 (GROUP BY 절 / HAVING 절) (0) | 2023.03.14 |
단일 행 함수 — 문자 (0) | 2023.02.07 |
JOIN (Self-Join / 비표준 join) (0) | 2023.02.02 |
ORDER BY절 (0) | 2023.02.01 |
- Total
- Today
- Yesterday
- gitbash
- 논리형
- 주석문
- mysql
- 출력문
- 로컬저장소
- 문자형
- 단일행함수
- 다형성
- 매개변수
- Java
- 숫자형
- null
- 데이터타입
- 내장객체
- Object
- javascript
- jsp
- github
- Dao
- 원격저장소
- 인자
- 업캐스팅
- model2
- Method
- DB
- JSTL
- 오버라이딩
- 제어문
- Git
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |