9.3. 수학적 함수 및 연산자#

수학 연산자가 많은 것을 위해 제공됩니다postgresql유형. 표준 수학적 규칙이없는 유형 (예 : 날짜/시간 유형)의 경우 다음 섹션에서 실제 동작을 설명합니다.

표 9.4표준 숫자 유형에 사용할 수있는 수학 연산자가 표시됩니다. 달리 명시되지 않는 한, 운영자는 수락으로 표시numeric_type모든 유형에 사용할 수 있습니다smallint, Integer, bigint, 숫자, Real이중 정밀. 수락으로 표시된 연산자integral_type유형에 사용할 수 있습니다smallint, Integerbigint. 언급 된 경우를 제외하고, 각 형태의 연산자는 인수와 동일한 데이터 유형을 반환합니다. 와 같은 여러 인수 데이터 유형과 관련된 통화정수 + 숫자,이 목록의 뒷부분에 나타나는 유형을 사용하여 해결됩니다.

표 9.4. 수학 연산자

운영자

설명

예제

numeric_type + numeric_typenumeric_type

추가

2 + 35

+ numeric_typenumeric_type

Unary Plus (작동 없음)

+ 3.53.5

numeric_type - numeric_typenumeric_type

Subtraction

2 - 3-1

- numeric_typenumeric_type

부정

- (-4)4

numeric_type * numeric_typenumeric_type

곱셈

2 * 36

numeric_type / numeric_typenumeric_type

DIVISION (적분 유형의 경우 부서는 결과를 0으로 제기합니다)

5.0 / 22.5000000000000000

5 / 22

(-5) / 2-2

numeric_type % numeric_typenumeric_type

모듈로 (나머지); 사용 가능smallint, Integer, bigint숫자

5 % 41

숫자 ^ 숫자숫자

이중 정밀 ^ 이중 정밀이중 정밀

지수

2 ^ 38

전형적인 수학적 실습과 달리의 다중 사용^기본적으로 왼쪽에서 오른쪽으로 연결합니다 :

2 ^ 3 ^ 3512

2 ^ (3 ^ 3)134217728

|/ 이중 정밀이중 정밀도

제곱근

|/ 25.05

||/ 이중 정밀이중 정밀

큐브 루트

||/ 64.04

@ numeric_typenumeric_type

절대 값

@ -5.05.0

integral_type & integral_typeintegral_type

Bitwise and

91 & 1511

integral_type | integral_typeintegral_type

bitwise 또는

32 | 335

integral_type # integral_typeintegral_type

Bitwise 독점 또는

17 # 520

~ integral_typeintegral_type

비트가 아닌

~ 1-2

integral_type << Integerintegral_type

Bitwise Shift Left

1 << 416

integral_type Integerintegral_type

Bitwise Shift Right

8 22


표 9.5사용 가능한 수학적 함수를 보여줍니다. 이러한 기능 중 다수는 다른 인수 유형을 가진 여러 형태로 제공됩니다. 언급 된 경우를 제외하고, 주어진 형태의 함수는 인수와 동일한 데이터 유형을 반환합니다. 교차 유형 사례는 작업자에 대해 위에서 설명한 것과 같은 방식으로 해결됩니다. 작업 기능이중 정밀데이터는 주로 호스트 시스템의 C 라이브러리 위에 구현됩니다. 따라서 경계 사례의 정확성과 동작은 호스트 시스템에 따라 다를 수 있습니다.

표 9.5. 수학적 기능

기능

설명

예제

ABS(numeric_type) →numeric_type

절대 값

ABS (-17.4)17.4

CBRT(이중 정밀도) →이중 정밀도

큐브 루트

CBRT (64.0)4

CEIL(숫자) →숫자

CEIL(이중 정밀) →이중 정밀

가장 가까운 정수는 인수보다 크거나 동일합니다

CEIL (42.2)43

CEIL (-42.8)-42

천장(숫자) →숫자

천장(이중 정밀) →이중 정밀

가장 가까운 정수는 인수보다 크거나 동일합니다 (CEIL)

천장 (95.3)96

Degrees(이중 정밀) →이중 정밀

라디안을 도로 변환

Degrees (0.5)28.64788975654116

div(y 숫자, x 숫자) →숫자

정수 지수의y/x(제로를 향해 잘려냅니다)

div (9, 4)2

erf(이중 정밀) →이중 정밀

오류 함수

erf (1.0)0.8427007929497149

ERFC(더블 스포츠 토토 사이트) →이중 정밀도

보완 오류 함수 (1 -erf (x), 큰 입력의 스포츠 토토 사이트 손실없이)

ERFC (1.0)0.15729920705028513

exp(숫자) →숫자

exp(이중 정밀) →이중 정밀

지수 (e주어진 전력으로 올리기)

Exp (1.0)2.7182818284590452

Factorial(bigint) →숫자

Factorial

Factorial (5)120

Floor(숫자) →숫자

Floor(더블 스포츠 토토 사이트) →이중 정밀

가장 가까운 정수는 인수보다 작거나 동일합니다

바닥 (42.8)42

바닥 (-42.8)-43

GCD(numeric_type, numeric_type) →numeric_type

가장 큰 공통 구분 (나머지가없는 두 입력을 모두 나누는 가장 큰 양수); 보고0두 입력이 0 인 경우; 사용 가능정수, bigint숫자

GCD (1071, 462)21

LCM(numeric_type, numeric_type) →numeric_type

최소 공통 다중 (두 입력의 필수 배수 인 가장 작은 양의 양수); 보고0입력 중 하나가 0 인 경우; 사용 가능정수, bigint숫자

LCM (1071, 462)23562

ln(숫자) →숫자

ln(이중 정밀도) →이중 정밀

자연 로그

ln (2.0)0.6931471805599453

log(숫자) →숫자

log(이중 정밀) →이중 정밀도

베이스 10 로그

로그 (100)2

log10(숫자) →숫자

log10(이중 정밀) →이중 정밀

BASE 10 로그 (동일log)

log10 (1000)3

log(B 숫자, x 숫자) →숫자

로그의x베이스B

로그 (2.0, 64.0)6.0000000000000000

Min_Scale(숫자) →Integer

제공된 값을 정확하게 나타내는 데 필요한 최소 스케일 (분수 소수점 숫자 수)

Min_Scale (8.4100)2

mod(y numeric_type, x numeric_type) →numeric_type

나머지y/x; 사용 가능smallint, Integer, bigint숫자

mod (9, 4)1

pi() →이중 정밀

대략적인 값π

pi ()3.141592653589793

Power(a 숫자, B 숫자) →숫자

Power(a 이중 정밀도, B 이중 정밀도) →이중 정밀도

a|B

Power (9, 3)729

Radians(이중 정밀도) →이중 정밀도

정도를 라디안으로 변환

Radians (45.0)0.7853981633974483

라운드(숫자) →숫자

라운드(이중 정밀도) →더블 스포츠 토토 사이트

가장 가까운 정수까지 라운드. 을 위한숫자, 0에서 둥글게하여 타이가 깨졌습니다. 을 위한이중 정밀도, 타이 브레이킹 동작은 플랫폼 의존적이지만가장 가까운 짝수가장 일반적인 규칙입니다.

라운드 (42.4)42

라운드(V 숫자, S Integer) →숫자

라운드VtoS소수점. 넥타이는 0에서 둥글게하여 깨졌습니다.

라운드 (42.4382, 2)42.44

라운드 (1234.56, -1)1230

스케일(숫자) →Integer

인수 규모 (분수 부품의 소수점 숫자 수)

스케일 (8.4100)4

사인(숫자) →숫자

사인(이중 정밀도) →이중 정밀

인수의 표시 (-1, 0, +1)

표시 (-8.4)-1

SQRT(숫자) →숫자

SQRT(이중 정밀도) →이중 정밀도

제곱근

SQRT (2)1.4142135623730951

Trim_Scale(숫자) →숫자

후행 제로를 제거하여 값의 척도 (분수 소수점 숫자 수)를 줄입니다

Trim_Scale (8.4100)8.41

trunc(숫자) →숫자

Trunc(이중 정밀) →이중 정밀

정수로 자르기 (제로를 향해)

Trunc (42.8)42

Trunc (-42.8)-42

Trunc(V 숫자, S 정수) →숫자

자르기VtoS소수점 장소

Trunc (42.4382, 2)42.43

width_bucket(Operand 숫자, 낮음 숫자, High 숫자, count 정수) →정수

width_bucket(Operand 이중 정밀, 낮음 이중 정밀, High 이중 정밀도, count Integer) →Integer

버킷의 수를 반환합니다Operand히스토그램에 빠지게됩니다count범위에 걸친 동일한 넓은 버킷LOWtoHigh. 보고0또는count+1해당 범위 외부의 입력.

width_bucket (5.35, 0.024, 10.06, 5)3

width_bucket(Operand Anycompatible, 임계 값 anycompatiblearray) →정수

버킷의 수를 반환합니다Operand버킷의 하한을 나열하는 배열이 주어지면 낙상. 보고0첫 번째 하한보다 적은 입력.Operand및 배열 요소는 표준 비교 연산자가있는 모든 유형 일 수 있습니다. 그만큼임계 값배열정렬해야합니다, 가장 작은 첫 번째 또는 예기치 않은 결과가 얻어 질 것입니다.

width_bucket (now (), 배열 [ '어제', '오늘', '내일'] :: timestamptz [])2


표 9.6랜덤 숫자를 생성하기위한 함수를 보여줍니다.

표 9.6. 임의의 기능

기능

설명

예제

random() →이중 정밀

0.0 <= x <1.0 범위에서 임의 값을 반환합니다.

random ()0.897124072839091

random(Min 정수, max 정수) →정수

random(Min bigint, max bigint) →bigint

random(Min 숫자, max 숫자) →숫자

범위에서 임의의 값을 반환Min<= x <=max. 유형숫자, 결과는 동일한 수의 분수 소수점 자리 숫자가를 갖습니다.Min또는max

random (1, 10)7

random (-0.499, 0.499)0.347

random_normal([평균 더블 스포츠 토토 사이트[, stddev 이중 정밀도]]) →이중 정밀

주어진 매개 변수로 정규 분포에서 임의 값을 반환합니다.평균기본값 0.0 및stddev기본값으로 1.0

random_normal (0.0, 1.0)0.051285419

setseed(이중 정밀) →void

후속 씨앗을 설정random ()andrandom_normal ()전화; 인수는 -1.0에서 1.0 사이 여야합니다.

Setseed (0.12345)


therandom ()random_normal ()함수에 나열된 기능표 9.6결정 론적 의사 랜덤 번호 생성기를 사용하십시오. 빠르지 만 암호화 응용 프로그램에는 적합하지 않습니다. 참조PostgreSQL : 문서 : 17 : F.26. pgcrypto - 토토 사이트 순위 기능보다 안전한 대안을위한 모듈. 만약에setseed ()호출됩니다. 현재 세션에서 이러한 기능에 대한 후속 호출의 일련의 결과는 재발행으로 반복 될 수 있습니다setseed ()같은 주장이 있습니다. 사전없이setseed ()같은 세션에서 호출, 이러한 함수 중 어떤 호출은 플랫폼 의존적 임의 비트 소스로부터 씨앗을 얻습니다..

표 9.7사용 가능한 삼각 함수를 보여줍니다. 이러한 각 함수는 라디안의 각도를 측정하고 각도를 각도로 측정하는 두 가지 변형으로 제공됩니다.

표 9.7. 삼각 함수

기능

설명

예제

ACOS(이중 정밀도) →이중 정밀

역 코사인, 라디안을 초래

acos (1)0

ACOSD(이중 정밀도) →이중 정밀

역 코사인, 미지를 초래

ACOSD (0.5)60

asin(이중 정밀도) →이중 정밀도

반대 사인, 라디안을 초래

Asin (1)1.5707963267948966

asind(이중 정밀) →이중 정밀

역 사인, 결과

asind (0.5)30

atan(이중 정밀도) →이중 정밀

역 탄젠트, 라디안을 초래

atan (1)0.7853981633974483

atand(이중 정밀) →이중 정밀

역 탄젠트, 각도

atand (1)45

atan2(y 이중 정밀, x 이중 정밀도) →이중 정밀도

역 탄젠트의y/x, Radians를 초래

atan2 (1, 0)1.5707963267948966

atan2d(y 더블 스포츠 토토 사이트, x 이중 정밀도) →더블 스포츠 토토 사이트

역 탄젠트의y/x, 결과

atan2d (1, 0)90

cos(이중 정밀도) →더블 스포츠 토토 사이트

코사인, 라디안의 인수

cos (0)1

COSD(이중 정밀도) →이중 정밀

코사인, 학위의 인수

COSD (60)0.5

COT(이중 정밀도) →이중 정밀도

Cotangent, 라디안의 논쟁

COT (0.5)1.830487721712452

cotd(이중 정밀) →이중 정밀도

COTANGENT, 학위의 논쟁

Cotd (45)1

sin(더블 스포츠 토토 사이트) →이중 정밀

사인, 라디안의 논쟁

sin (1)0.8414709848078965

sind(이중 정밀) →이중 정밀

Sine, 학위의 인수

Sind (30)0.5

tan(이중 정밀) →이중 정밀

탄젠트, 라디안의 인수

tan (1)1.5574077246549023

tand(이중 정밀도) →이중 정밀도

탄젠트, 학위의 인수

tand (45)1


Note

각도로 측정 된 각도로 작업하는 또 다른 방법은 단위 변환 기능을 사용하는 것입니다Radians ()anddegrees ()앞서 나와 있습니다. 그러나 학위 기반 삼각 함수 사용을 사용하는 것이 선호됩니다.이 방법은와 같은 특수한 경우에 대한 라운드 오프 오류를 피하기 때문에Sind (30).

표 9.8사용 가능한 쌍곡선 기능을 보여줍니다.

표 9.8. 쌍곡선 기능

function

설명

예제

sinh(이중 정밀) →이중 정밀도

hyperbolic sine

sinh (1)1.1752011936438014

Cosh(이중 정밀도) →이중 정밀도

쌍곡선 코사인

Cosh (0)1

tanh(이중 정밀도) →이중 정밀도

쌍곡선 탄젠트

Tanh (1)0.7615941559557649

Asinh(이중 정밀도) →이중 정밀도

역 쌍곡선 사인

Asinh (1)0.881373587019543

acosh(더블 스포츠 토토 사이트) →이중 정밀도

역 쌍곡선 코사인

acosh (1)0

atanh(이중 정밀) →이중 정밀

역 쌍곡선 접선

Atanh (0.5)0.5493061443340548


정정 제출

올바른 문서에 아무것도 표시되면 일치하지 않습니다. 특정 기능에 대한 귀하의 경험 또는 추가 설명이 필요합니다. 사용이 양식문서 문제를보고하려면