|
|
수치 연산함수 |
|
|
|
1. RAND 함수 |
|
RAND 함수는 구간 [ 0, 231]에서 균일 분포(uniform distribution) 값을 정수로 반환한다. |
|
1) 구문 |
|
|
2) 예제 |
|
다음은 0과 231사이의 임의 정수를 반환하는 예제이다. |
SELECT RAND() FROM db_root; |
|
|
2. DRAND 함수 |
|
DRAND 함수는 구간 [0.0, 1.0]에서 균일 분포 값을 배정도(double-precision) 부동 소수점 숫자로 반환한다. |
|
1) 구문 |
|
|
2) 예제 |
|
다음은 0.0과 1.0 사이의 임의 정수를 반환하는 예제이다. |
SELECT DRAND() FROM db_root; |
|
|
3. ROUND 함수 |
|
ROUND 함수는 숫자를 지정한 자리수로 반올림한 값을 반환하며, 반환 값의 타입은 인자의 타입과 같다. |
|
1) 구문 |
ROUND( number_operand, integer ) |
|
|
number_operand : 반올림할 숫자를 나타낸다. |
|
integer : 반올림하여 나타낼 소수점 자릿수를 나타낸다. 값이 음수이면 소수점을 기준으로 왼쪽에서 반올림한다. |
|
반환 값의 타입은 number_operand와 같은 타입이다. |
|
2) 예제 |
|
다음은 15.456을 반올림하여 소수점 둘째 자리까지 표현하는 예제이다. |
SELECT ROUND(15.456, 2) FROM db_root; === <Result of SELECT Command in Line 1> === round(15.456, 2) ================ 15.460 1 rows selected. |
|
|
다음은 15.456을 반올림하여 소수점 첫째 자리까지 표현하는 예제이다. |
SELECT ROUND(15.456, 1) FROM db_root; === <Result of SELECT Command in Line 1> === round(15.456, 1) ================ 15.500 1 rows selected. |
|
|
다음은 소수점 아래에서 반올림하여 정수부만 표현하는 예제이다. |
SELECT ROUND(15.456, 0) FROM db_root; === <Result of SELECT Command in Line 1> === round(15.456, 0) ================ 15.000 1 rows selected. |
|
|
다음은 15.456을 반올림하여 정수부 첫째 자리에서 반올림한 값을 표현하는 예제이다. |
SELECT ROUND(15.456, -1) FROM db_root; === <Result of SELECT Command in Line 1> === round(15.456, -1) ================= 20.000 1 rows selected. |
|
|
4. CEIL 함수 |
|
CEIL 함수는 인자보다 크거나 같은 최소 정수 값을 반환하며, 반환 값의 타입은 인자의 타입과 같다. |
|
1) 구문 |
|
|
number_operand : 올림할 숫자를 나타낸다. |
|
2) 예제 |
|
다음은 10.145를 정수로 올림하여 표현하는 예제이다. |
SELECT CEIL(10.145) FROM db_root; === <Result of SELECT Command in Line 1> === ceil(10.145) ============ 11 1 rows selected. |
|
|
다음은 10을 정수로 올림하여 표현하는 예제이다. |
SELECT CEIL(10) FROM db_root; === <Result of SELECT Command in Line 1> === ceil(10) ======== 10 1 rows selected. |
|
|
다음은 -10.145를 정수로 올림하여 표현하는 예제이다. |
SELECT CEIL(-10.145) FROM db_root; === <Result of SELECT Command in Line 1> === ceil(-10.145) ============= -10 1 rows selected. |
|
|
다음은 -10을 정수로 올림하여 표현하는 예제이다. |
SELECT CEIL(-10) FROM db_root; === <Result of SELECT Command in Line 1> === ceil(-10) ========= -10 1 rows selected. |
|
|
5. FLOOR 함수 |
|
FLOOR 함수는 인자보다 작거나 같은 최대 정수 값을 반환하며, 반환 값의 타입은 인자의 타입과 같다. |
|
1) 구문 |
|
|
number_operand : 내림할 숫자를 나타낸다. |
|
2) 예제 |
|
다음은 10.145을 정수로 내림하여 표현하는 예제이다. |
SELECT FLOOR(10.145) FROM db_root; === <Result of SELECT Command in Line 1> === floor(10.145) ============= 10 1 rows selected. |
|
|
다음은 10을 정수로 내림하여 표현하는 예제이다. |
SELECT FLOOR(10) FROM db_root; === <Result of SELECT Command in Line 1> === floor(10) ========= 10 1 rows selected. |
|
|
다음은 -10.145를 정수로 내림하여 표현하는 예제이다. |
SELECT FLOOR(-10.145) FROM db_root; === <Result of SELECT Command in Line 1> === floor(-10.145) ============== -11 1 rows selected. |
|
|
다음은 -10을 정수로 내림하여 표현하는 예제이다. |
SELECT FLOOR(-10) FROM db_root; === <Result of SELECT Command in Line 1> === floor(-10) ========== -10 1 rows selected. |
|
|
6. MOD 함수 |
|
MOD 함수는 첫 번째 인자를 두번재 인자로 나눈 나머지를 반환한다.
MOD 함수의 전형적인 연산, 'm-n*FLOOR(m/n)'과는 의미가 다르다.
다음의 표는 MOD 함수의 결과를 나타낸 것이다. |
|
m |
n |
MOD(m. n) |
Classical Modulus m-n*FLOOR(m/n) | 9 |
5 |
4 |
4 | -9 |
5 |
-4 |
1 | 9 |
-5 |
4 |
-1 | -9 |
-5 |
-4 |
-4 | 9 |
0 |
9 |
0으로 나누기 에러 |
|
|
1) 구문 |
MOD( number_operand_m, number_operand_n ) |
|
|
첫 번째 인자인 number_operand_m을 두 번째 인자인 number_operand_n으로 나눈 나머지를 반환한다. |
|
number_operand_m : 나누어 지는 수, 즉 피제수를 나타낸다. |
|
number_operand_n : number_operand_m을 나누는 수, 즉 제수를 나타낸다. 값이 0이면 number_operand_m을 그대로 반환한다. |
|
2) 예제 |
|
다음은 10.945를 0.4로 나눈 나머지를 반환하는 예제이다. |
SELECT MOD(10.945, 0.4) FROM db_root; === <Result of SELECT Command in Line 1> === mod(10.945, 0.4) ================ 0.145 1 rows selected. |
|
|
7. POWER 함수 |
|
POWER 함수는 입력된 숫자의 거듭제곱을 반환하며 반환 값의 타입은 첫 번째 인자의 타입과 같다. 결과의 자릿수나 소수점 이하 자릿수가 너무 크거나 너무 작은 경우에는 오버플로우나 절단이 발생할 수 있다. |
|
1) 구문 |
POWER( base_operand, exponent_operand ) |
|
|
base_operand의 exponent_operand 제곱 값을 반환한다. base_operand 값이 음수인 경우에는 지수인 exponent_operand는 반드시 정수여야 한다. |
|
base_operand : 거듭 제곱할 수를 나타낸다. |
|
exponent_operand : 거듭 제곱에서 지수를 나타낸다. |
|
2) 예제 |
|
다음은 5의 3.1승을 반환하는 예제이다. |
SELECT POWER(5, 3.1) FROM db_root; === <Result of SELECT Command in Line 1> === power(5, 3.1) ============= 146.8 1 rows selected. |
|
|
다음은 9.05의 2.1승을 반환하는 예제이다. |
SELECT POWER(9.05, 2.1) FROM db_root; === <Result of SELECT Command in Line 1> === power(9.05, 2.1) ================ 102.085 1 rows selected. |
|
|
다음은 -9.05의 3승을 반환하는 예제이다. |
SELECT POWER(-9.05, 3) FROM db_root; === <Result of SELECT Command in Line 1> === power(-9.05, 3) =============== -741.22 1 rows selected. |
|
|
다음은 -5의 3.2승을 반환하는 예제이다. |
SELECT POWER(-5, 3.2) FROM db_root; === <Result of SELECT Command in Line 1> === power(-5, 3.2) ============== error error. |
|
|
8. ABS 함수 |
|
ABS 함수는 입력된 숫자의 절대값을 반환하며, 반환 값의 타입은 주어진 인자의 타입과 같다. |
|
1) 구문 |
|
|
number_operand : 절대값을 구할 수를 지정한다. |
|
2) 예제 |
|
다음은 -0.5의 절대값을 반환하는 예제이다. |
SELECT ABS(-0.5) FROM db_root; === <Result of SELECT Command in Line 1> === abs(-0.5) ========= 0.5 1 rows selected. |
|
|
9. SIGN 함수 |
|
SIGN 함수는 숫자 값의 부호를 반환한다. 양수이면 1을, 음수이면 -1을, 0이면 0을 반환한다. |
|
1) 구문 |
|
|
number_operand : 부호를 반환할 수를 지정한다. |
|
2) 예제 |
|
다음은 -15.03의 부호를 반환하는 예제이다. |
SELECT SIGN(-15.03) FROM db_root; === <Result of SELECT Command in Line 1> === sign(-15.03) ============ -1 1 rows selected. |
|
|
10. TRUNC 함수 |
|
TRUNC 함수는 입력된 숫자를 지정된 자릿수까지 자른값을 반환하며 반환 값의 타입은 첫 번째 인자의 타입과 같다. |
|
1) 구문 |
TRUNC( number_operand, integer ) |
|
|
number_operand : 원본 숫자를 지정한다. |
|
integer : 값이 잘릴 위치를 지정한다. 값이 음수이면, 소수점 기준 왼쪽에서 버림한 값을 반환한다. |
|
2) 예제 |
|
다음은 235.1538을 소수점 둘째 자리까지만 반환하는 예제이다. |
SELECT TRUNC(235.1538, 2) FROM db_root; === <Result of SELECT Command in Line 1> === trunc(235.1538, 2) ================== 235.1500 1 rows selected. |
|
|
다음은 235.1538을 소수점 첫째 자리까지만 반환하는 예제이다. |
SELECT TRUNC(235.1538, 1) FROM db_root; === <Result of SELECT Command in Line 1> === trunc(235.1538, 1) ================== 235.0000 1 rows selected. |
|
|
다음은 235.1538의 정수부만 반환하는 예제이다. |
SELECT TRUNC(235.1538, 0) FROM db_root; === <Result of SELECT Command in Line 1> === trunc(235.1538, 0) ================== 235.0000 1 rows selected. |
|
|
다음은 235.1538에서 정수부 첫째 자리 이하는 버림한 값을 반환하는 예제이다. |
SELECT TRUNC(235.1538, -1) FROM db_root; === <Result of SELECT Command in Line 1> === trunc(235.1538, -1) =================== 230.0000 1 rows selected. |
|
|
다음은 235.1538에서 정수부 둘째 자리 이하는 버림한 값을 반환하는 예제이다. |
SELECT TRUNC(235.1538, -2) FROM db_root; === <Result of SELECT Command in Line 1> === trunc(235.1538, -2) =================== 200.0000 1 rows selected. |
|
|