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

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

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

표 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, 정수, 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

Bitwise Not

~1-2

integral_type << 정수integral_type

Bitwise Shift Left

1 << 416

integral_type 정수integral_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 ( 숫자) →정수

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

Min_Scale (8.4100)2

mod ( y numeric_type, x numeric_type) →numeric_type

나머지y/x; 사용 가능smallint, 정수, 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 정수) →숫자

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

라운드 (42.4382, 2)42.44

라운드 (1234.56, -1)1230

스케일 ( 숫자) →정수

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

스케일 (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 정수) →정수

버킷의 수를 반환합니다Operand히스토그램에 떨어집니다count범위에 걸쳐있는 동일한 전체 버킷낮음toHigh. 보고0또는count+1해당 범위 외부의 입력.

width_bucket (5.35, 0.024, 10.06, 5)3

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

버킷의 수를 반환합니다Operand버킷의 하한을 나열하는 배열이 주어지면 떨어집니다. 보고0첫 번째 하한보다 적은 입력.Operand44629_44712임계 값배열정렬해야합니다, 가장 작은 첫 번째 또는 예상치 못한 결과가 얻어 질 것입니다.

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


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

표 9.6. 임의의 기능

기능

설명

예제

random() →이중 범퍼카 토토

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

random ()0.897124072839091

random_normal([평균 이중 범퍼카 토토 [, stddev 이중 범퍼카 토토 ]]) →이중 범퍼카 토토

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

random_normal (0.0, 1.0)0.051285419

setseed ( 이중 범퍼카 토토) →void

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

Setseed (0.12345)


therandom ()함수는 결정 론적 의사 랜덤 번호 생성기를 사용합니다. 빠르지 만 암호화 응용 프로그램에는 적합하지 않습니다.pgcrypto보다 안전한 대안을위한 모듈. 만약에setseed ()호출됩니다. 후속의 일련의 결과random ()현재 세션의 호출은 재발행으로 반복 할 수 있습니다setseed ()같은 주장이 있습니다. 사전없이setseed ()같은 세션에서 전화, 첫 번째random ()Call은 플랫폼 의존적 임의 비트 소스에서 씨앗을 얻습니다. 이 발언은 똑같이 유지됩니다random_normal ().

표 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

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 ( 이중 범퍼카 토토) →이중 범퍼카 토토

사인, 학위

Sind (30)0.5

tan ( 이중 범퍼카 토토) →이중 범퍼카 토토

탄젠트, 라디안의 인수

tan (1)1.5574077246549023

tand ( 이중 범퍼카 토토) →이중 범퍼카 토토

탄젠트, 학위의 인수

tand (45)1


Note

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

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

표 9.8. 쌍곡선 기능

기능

설명

예제

sinh ( 이중 범퍼카 토토) →이중 범퍼카 토토

쌍곡 사인

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


수정 제출

문서에 올바른 것이없는 것이 있으면 일치하지 않습니다.이 양식문서 문제를보고하려면