DB스토리/POSTGRESQL
Postgresql 9.3. 산술 함수와 연산자
블루다컴
2017. 2. 12. 13:12
표 9-2. 산술 연산자
연산자 이름 | 설명 | 예제 | 결과 |
---|---|---|---|
+ | 덧셈 | 2 + 3 | 5 |
- | 뺄셈 | 2 - 3 | -1 |
* | 곱 | 2 * 3 | 6 |
/ | 나누기 (정수의 나눗셈에서 나머지를 절단) | 4 / 2 | 2 |
% | 나머지 (정수의 나눗셈에서 나머지) | 5 % 4 | 1 |
^ | 거듭제곱 | 2.0 ^ 3.0 | 8 |
|/ | 제곱근 | |/ 25.0 | 5 |
||/ | 세제곱 근 | ||/ 27.0 | 3 |
! | 계승 | 5 ! | 120 |
!! | 계승 (전치 연산자) | !! 5 | 120 |
@ | 절대값 | @ -5.0 | 5 |
& | 이진 AND | 91 & 15 | 11 |
| | 이진 OR | 32 | 3 | 35 |
# | 이진 XOR | 17 # 5 | 20 |
~ | 이진 NOT | ~1 | -2 |
<< | 이진 왼쪽 시프트 | 1 << 4 | 16 |
>> | 이진 오른쪽 시프트 | 8 >> 2 | 2 |
이진 연산자는 내부 데이터 형식에만 사용할 수 있습니다. 반면 다른 연산자는 모든 숫자 데이터 형식에 사용할 수 있습니다. 또한 이진 연산자는 표 9-10 에 나타내는 bit, bit varying 비트 문자열에 대해서도 사용할 수 있습니다.
표 9-3에 사용 가능한 산술 함수를 나타냅니다. 이 표의 dp는, double precision을 의미합니다. 이 함수의 대부분은, 다른 인수 형식을 가진 여러 형태로 제공되고 있습니다. 특별한 경우를 제외하고, 임의 형식의 함수는 인수와 같은 데이터 형식을 반환합니다. double precision 데이터에 대한 함수의 대부분은 호스트 시스템의 C 라이브러리의 상층에 구현되어 있습니다. 따라서, 경계와 가까운 경우 정확성과 행동은 호스트 시스템에 따라 달라집니다.
표 9-3. 산술 함수
함수 | 반환 값 형식 | 설명 | 예제 | 결과 |
---|---|---|---|---|
abs( x ) | (입력과 동일) | 절대값 | abs(-17.4) | 17.4 |
cbrt( dp ) | dp | 세제곱 근 | cbrt(27.0) | 3 |
ceil( dp or numeric ) | (입력 형식과 동일) | 인수보다 작지 않은 최소 정수 | ceil(-42.8) | -42 |
ceiling( dp or numeric ) | (입력 형식과 동일) | 인수보다 작지 않은 가장 작은 정수 ( ceil 별명) | ceiling(-95.3) | -95 |
degrees( dp ) | dp | 라디안에 대한 각도 | degrees(0.5) | 28.6478897565412 |
div( y numeric , x numeric ) | numeric | y / x의 정수 | div(9,4) | 2 |
exp( dp or numeric ) | (입력 형식과 동일) | 지수 | exp(1.0) | 2.71828182845905 |
floor( dp or numeric ) | (입력 형식과 동일) | 인수보다 크지 않은 최대의 정수 | floor(-42.8) | -43 |
ln( dp or numeric ) | (입력 형식과 동일) | 자연 로그 | ln(2.0) | 0.693147180559945 |
log( dp or numeric ) | (입력 형식과 동일) | 10 을 최저로 한 대수 (상용 로그) | log(100.0) | 2 |
log( b numeric , x numeric ) | numeric | b를 최저로 한 대수 | log(2.0, 64.0) | 6.0000000000 |
mod( y , x ) | (인수 형식과 동일) | y / x의 나머지 | mod(9,4) | 1 |
pi() | dp | "파이 (π)" 상수 | pi() | 3.14159265358979 |
power( a dp , b dp ) | dp | a의 b 제곱 | power(9.0, 3.0) | 729 |
power( a numeric , b numeric ) | numeric | a의 b 제곱 | power(9.0, 3.0) | 729 |
radians( dp ) | dp | 각도에 해당하는 라디안 | radians(45.0) | 0.785398163397448 |
random() | dp | 0.0 <= x <1.0 사이의 난수 | random() | |
round( dp or numeric ) | (입력 형식과 동일) | 반올림 | round(42.4) | 42 |
round( v numeric , s int ) | numeric | 소수점 s 자리까지 반올림하여 버림 | round(42.4382, 2) | 42.44 |
setseed( dp ) | void | 향후 random () 호출에 사용되는 종류의 설정 (-1.0에서 1.0 사이의 경계를 포함한 값) | setseed(0.54823) | |
sign( dp or numeric ) | (입력 형식과 동일) | 인수의 부호 (-1, 0, +1) | sign(-8.4) | -1 |
sqrt( dp or numeric ) | (입력 형식과 동일) | 제곱근 | sqrt(2.0) | 1.4142135623731 |
trunc( dp or numeric ) | (입력 형식과 동일) | 버림 | trunc(42.8) | 42 |
trunc( v numeric , s int ) | numeric | s 자리에서 버림 | trunc(42.4382, 2) | 42.43 |
width_bucket( op numeric , b1 numeric , b2 numeric , count int ) | int | operand가 할당된, b1에서 b2까지 버킷 count 등 심도히스토그램 버킷을 반환 | width_bucket(5.35, 0.024, 10.06, 5) | 3 |
width_bucket( op dp , b1 dp , b2 dp, count int ) | int | operand가 할당된 b1에서 b2까지 버킷 count 등 심도히스토그램 버킷을 반환 | width_bucket(5.35, 0.024, 10.06, 5) | 3 |
마지막으로, 사용 가능한 삼각 함수는 표 9-4 에 나와 있습니다. 모든 삼각 함수는 double precision 데이터 형식의 인수와 반환 값을 취합니다. 삼각 함수의 인수는 라디안으로 표시됩니다. 반대 함수의 반환값은 라디안으로 표시됩니다. 위의 radians
()와 degrees
() 같은 단위 변환 함수를 참조하십시오.
표 9-4. 삼각 함수
함수 | 설명 |
---|---|
acos( x ) | 아크코사인 함수 |
asin( x ) | 아크사인 함수 |
atan( x ) | 아크탄젠트 함수 |
atan2( y , x ) | y / x의 아크 탄젠트 함수 |
cos( x ) | 코사인 함수 |
cot( x ) | 코탄젠트 함수 |
sin( x ) | 사인 함수 |
tan( x ) | 탄젠트 함수 |
[출처] [PostgreSQL] 9.3. 산술 함수와 연산자|작성자 카빙