9.3. 수학 함수 및 연산자#

수학 연산자는 많은 경우에 제공됩니다.포스트그레SQL유형. 표준 수학 규칙이 없는 유형(예: 날짜/시간 유형)의 경우 후속 섹션에서 실제 동작을 설명합니다.

표 9.4표준 숫자 유형에 사용할 수 있는 수학 연산자를 표시합니다. 달리 명시하지 않는 한, 연산자는 수락하는 것으로 표시됩니다.숫자_유형모든 유형에 사용 가능smallint, 정수, 비긴트, 숫자, 진짜배스포츠 토토. 수락하는 것으로 표시된 운영자integral_type유형에 사용 가능smallint, 정수비긴트. 명시된 경우를 제외하고 연산자의 각 형식은 해당 인수와 동일한 데이터 유형을 반환합니다. 다음과 같은 여러 인수 데이터 유형이 포함된 호출정수 + 숫자, 이 목록의 뒷부분에 나타나는 유형을 사용하여 해결됩니다.

표 9.4. 수학 연산자

운영자

설명

숫자_유형 + 숫자_유형숫자_유형

추가

2 + 35

+ 숫자_유형숫자_유형

단항 더하기(연산 없음)

+ 3.53.5

숫자_유형 - 숫자_유형숫자_유형

뺄셈

2 - 3-1

- 숫자_유형숫자_유형

부정

- (-4)4

숫자_유형 * 숫자_유형숫자_유형

곱셈

2 * 36

숫자_유형 / 숫자_유형숫자_유형

나눗셈(정수형의 경우 나눗셈은 결과를 0으로 자릅니다.)

5.0 / 22.5000000000000000

5 / 22

(-5) / 2-2

숫자_유형 % 숫자_유형숫자_유형

모듈로(나머지); 에 사용 가능smallint, 정수, 비긴트숫자

5 % 41

숫자 ^ 숫자숫자

배스포츠 토토 ^ 배스포츠 토토배스포츠 토토

지수화

2 ^ 38

일반적인 수학적 연습과 달리의 다양한 용도^기본적으로 왼쪽에서 오른쪽으로 연결됩니다:

2 ^ 3 ^ 3512

2 ^ (3 ^ 3)134217728

|/ 배스포츠 토토배스포츠 토토

제곱근

|/ 25.05

||/ 배스포츠 토토배스포츠 토토

큐브 루트

||/ 64.04

@ 숫자_유형숫자_유형

절대값

@ -5.05.0

적분_유형 & 적분_유형적분_유형

비트 AND

91 & 1511

적분_유형 | 적분_유형적분_유형

비트별 OR

32 | 335

적분_유형 # 적분_유형적분_유형

비트 배타적 OR

17 # 520

~ 적분_유형적분_유형

비트별 NOT

~1-2

적분_유형 << 정수적분_유형

비트 왼쪽으로 이동

1 << 416

적분_유형 정수적분_유형

비트 오른쪽으로 이동

8 22


표 9.5사용 가능한 수학 함수를 표시합니다. 이러한 함수 중 다수는 인수 유형이 다른 여러 형태로 제공됩니다. 명시된 경우를 제외하고 함수의 특정 형식은 해당 인수와 동일한 데이터 유형을 반환합니다. 교차 유형 사례는 위에서 운영자에 대해 설명한 것과 동일한 방식으로 해결됩니다. 함께 작동하는 함수배스포츠 토토데이터는 대부분 호스트 시스템의 C 라이브러리 위에 구현됩니다. 따라서 경계 사례의 정확성과 동작은 호스트 시스템에 따라 달라질 수 있습니다.

표 9.5. 수학 함수

기능

설명

예제

복근 ( 숫자_유형 ) → 숫자_유형

절대값

복근(-17.4)17.4

cbrt ( 배스포츠 토토 ) → 배스포츠 토토

큐브 루트

cbrt(64.0)4

( 숫자 ) → 숫자

( 배스포츠 토토 ) → 배스포츠 토토

인수보다 크거나 같은 가장 가까운 정수

실(42.2)43

실(-42.8)-42

천장 ( 숫자 ) → 숫자

천장 ( 배스포츠 토토 ) → 배스포츠 토토

인수보다 크거나 같은 가장 가까운 정수(동일)

천장(95.3)96

( 배스포츠 토토 ) → 배스포츠 토토

라디안을 각도로 변환합니다.

도(0.5)28.64788975654116

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

정수지수y/x(0쪽으로 잘림)

div(9, 4)2

erf ( 배스포츠 토토 ) → 배스포츠 토토

오류 함수

erf(1.0)0.8427007929497149

erfc ( 배스포츠 토토 ) → 배스포츠 토토

보완 오류 함수(1 - erf(x), 대규모 입력에 대한 스포츠 토토 손실 없음)

erfc(1.0)0.15729920705028513

특급 ( 숫자 ) → 숫자

특급 ( 배스포츠 토토 ) → 배스포츠 토토

지수(e주어진 힘으로 상승)

exp(1.0)2.7182818284590452

팩토리얼 ( 비긴트 ) → 숫자

팩토리얼

팩토리얼(5)120

바닥 ( 숫자 ) → 숫자

바닥 ( 배스포츠 토토 ) → 배스포츠 토토

인수보다 작거나 같은 가장 가까운 정수

층(42.8)42

층(-42.8)-43

감마 ( 배스포츠 토토 ) → 배스포츠 토토

감마 함수

감마(0.5)1.772453850905516

감마(6)120

gcd ( 숫자_유형, 숫자_유형 ) → 숫자_유형

최대 공약수(두 입력을 나머지 없이 나누는 가장 큰 양수); 반품0두 입력이 모두 0인 경우; 에 사용 가능정수, 비긴트숫자

gcd(1071, 462)21

lcm ( 숫자_유형, 숫자_유형 ) → 숫자_유형

최소 공배수(두 입력의 정수배인 가장 작은 양수); 반품0둘 중 하나의 입력이 0인 경우; 에 사용 가능정수, bigint숫자

lcm(1071, 462)23562

lgamma ( 배스포츠 토토 ) → 배스포츠 토토

감마 함수 절대값의 자연 로그

갈마(1000)5905.220423209181

ln ( 숫자 ) → 숫자

ln ( 배스포츠 토토 ) → 배스포츠 토토

자연로그

ln(2.0)0.6931471805599453

로그 ( 숫자 ) → 숫자

로그 ( 배스포츠 토토 ) → 배스포츠 토토

기본 10 로그

로그(100)2

로그10 ( 숫자 ) → 숫자

로그10 ( 배스포츠 토토 ) → 배스포츠 토토

기본 10 로그(동일로그)

log10(1000)3

로그 ( b 숫자, x 숫자 ) → 숫자

로그x기지로b

로그(2.0, 64.0)6.0000000000000000

min_scale ( 숫자 ) → 정수

제공된 값을 정확하게 표현하는 데 필요한 최소 소수 자릿수(소수점 이하 자릿수)

min_scale(8.4100)2

모드 ( y 숫자_유형, x 숫자_유형 ) → 숫자_유형

나머지y/x; 에 사용 가능smallint, 정수, 비긴트숫자

모드(9, 4)1

파이 ( ) → 배스포츠 토토

대략적인 값π

파이()3.141592653589793

( a 숫자, b 숫자 ) → 숫자

( a 배스포츠 토토, b 배스포츠 토토 ) → 배스포츠 토토

a의 힘으로 키워졌습니다b

힘(9, 3)729

라디안 ( 배스포츠 토토 ) → 배스포츠 토토

도를 라디안으로 변환

라디안(45.0)0.7853981633974483

라운드 ( 숫자 ) → 숫자

라운드 ( 배스포츠 토토 ) → 배스포츠 토토

가장 가까운 정수로 반올림합니다. 에 대한숫자, 관계는 0에서 반올림하여 끊어집니다. 에 대한배스포츠 토토, 동점 분리 동작은 플랫폼에 따라 다르지만가장 가까운 짝수로 반올림가장 일반적인 규칙입니다.

라운드(42.4)42

라운드 ( v 숫자, s 정수 ) → 숫자

라운드vs소수점 자리. 동점은 0에서 반올림하여 끊어집니다.

라운드(42.4382, 2)42.44

라운드(1234.56, -1)1230

규모 ( 숫자 ) → 정수

인수의 배율(소수 부분의 소수 자릿수)

규모(8.4100)4

로그인 ( 숫자 ) → 숫자

로그인 ( 배스포츠 토토 ) → 배스포츠 토토

인수 기호(-1, 0 또는 +1)

sign(-8.4)-1

sqrt ( 숫자 ) → 숫자

sqrt ( 배스포츠 토토 ) → 배스포츠 토토

제곱근

sqrt(2)1.4142135623730951

trim_scale ( 숫자 ) → 숫자

후행 0을 제거하여 값의 소수 자릿수(소수점 이하 자릿수)를 줄입니다.

trim_scale(8.4100)8.41

트렁크 ( 숫자 ) → 숫자

트렁크 ( 이중 스포츠 토토 ) → 배스포츠 토토

정수로 잘림(0에 가까워짐)

트렁크(42.8)42

trunc(-42.8)-42

트렁크 ( v 숫자, s 정수 ) → 숫자

잘림vs소수점

trunc(42.4382, 2)42.43

width_bucket ( 피연산자 숫자, 낮음 숫자, 높음 숫자, 개수 정수 ) → 정수

width_bucket ( 피연산자 배스포츠 토토, 낮음 배스포츠 토토, 높음 배스포츠 토토, 개수 정수 ) → 정수

버킷의 번호를 반환합니다.피연산자히스토그램에 포함됨개수범위에 걸쳐 있는 동일한 너비의 버킷낮음높음. 버킷에는 포함적인 하한과 제외된 상한이 있습니다. 반품0보다 작은 입력의 경우낮음또는개수+1다음보다 크거나 같은 입력의 경우높음. 만일낮음 높음, 동작은 버킷을 사용하여 미러링과 반대입니다.1지금은 바로 아래에 있습니다낮음, 이제 포괄 경계가 위쪽에 있습니다.

width_bucket(5.35, 0.024, 10.06, 5)3

width_bucket(9, 10, 0, 10)2

width_bucket ( 피연산자 모든 호환 가능, 임계값 모든 호환 어레이 ) → 정수

버킷의 번호를 반환합니다.피연산자버킷의 하한값을 포함하는 배열이 나열되어 있는 경우 해당됩니다. 반품0첫 번째 하한보다 작은 입력의 경우.피연산자그리고 배열 요소는 표준 비교 연산자를 갖는 모든 유형이 될 수 있습니다.임계값배열정렬되어야 함, 가장 작은 것부터 또는 예상치 못한 결과를 얻게 됩니다.

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


표 9.6난수 생성을 위한 함수를 보여줍니다.

표 9.6. 무작위 함수

기능

설명

무작위 ( ) → 배스포츠 토토

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

무작위()0.897124072839091

무작위 ( 정수, 최대 정수 ) → 정수

무작위 ( bigint, 최대 비긴트 ) → bigint

무작위 ( 숫자, 최대 숫자 ) → 숫자

범위 내 임의의 값을 반환합니다.<= x <=최대. 유형의 경우숫자, 결과는 다음과 같은 소수점 이하 자릿수를 갖습니다.또는최대중 더 많은 것이 있는 쪽입니다.

임의(1, 10)7

임의(-0.499, 0.499)0.347

random_normal ( [ 평균 배스포츠 토토 [, stddev 배스포츠 토토 ]] ) → 배스포츠 토토

주어진 매개변수를 사용하여 정규 분포에서 임의의 값을 반환합니다.평균기본값은 0.0이며stddev기본값은 1.0

random_normal(0.0, 1.0)0.051285419

세트 시드 ( 배스포츠 토토 ) → 무효

후속 시드 설정무작위()그리고random_normal()호출; 인수는 -1.0에서 1.0 사이여야 합니다.

세트시드(0.12345)


무작위()그리고random_normal()다음에 나열된 함수표 9.6결정론적 의사 난수 생성기를 사용합니다. 빠르지만 암호화 애플리케이션에는 적합하지 않습니다. 참조하세요PostgreSQL : 문서 : 18 : F.26. pgcrypto - 스포츠 토토 베트맨 기능더 안전한 대안을 위한 모듈입니다. 만일세트 시드()이 호출되면 현재 세션에서 이러한 함수에 대한 일련의 후속 호출 결과를 다시 발행하여 반복할 수 있습니다.setseed()같은 인수를 사용합니다. 사전에 아무 것도 없이setseed()동일한 세션에서 호출하면 이러한 함수 중 하나에 대한 첫 번째 호출은 플랫폼에 따른 임의 비트 소스로부터 시드를 얻습니다.

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

표 9.7. 삼각함수

기능

설명

아코스 ( 배스포츠 토토 ) → 배스포츠 토토

역코사인, 결과는 라디안

아코스(1)0

acosd ( 배스포츠 토토 ) → 배스포츠 토토

역코사인, 결과는 도

acosd(0.5)60

아신 ( 배스포츠 토토 ) → 배스포츠 토토

역사인, 결과는 라디안

아신(1)1.5707963267948966

아신드 ( 배스포츠 토토 ) → 배스포츠 토토

역사인, 결과(도)

아신드(0.5)30

아탄 ( 배스포츠 토토 ) → 배스포츠 토토

역탄젠트, 결과는 라디안

아탄(1)0.7853981633974483

( 배스포츠 토토 ) → 배스포츠 토토

역탄젠트, 도 단위 결과

및(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

침대 ( 배스포츠 토토 ) → 배스포츠 토토

코탄젠트, 라디안 단위의 인수

침대(0.5)1.830487721712452

침대 ( 배스포츠 토토 ) → 배스포츠 토토

코탄젠트, 각도 단위의 인수

침대(45)1

( 배스포츠 토토 ) → 배스포츠 토토

사인, 라디안 단위의 인수

죄(1)0.8414709848078965

( 배스포츠 토토 ) → 배스포츠 토토

사인, 각도 단위의 인수

신(30)0.5

( 배스포츠 토토 ) → 배스포츠 토토

탄젠트, 라디안 단위의 인수

탄(1)1.5574077246549023

탠드 ( 배스포츠 토토 ) → 배스포츠 토토

탄젠트, 각도 단위의 인수

탠드(45)1


참고

도 단위로 측정된 각도를 사용하는 또 다른 방법은 단위 변환 기능을 사용하는 것입니다.라디안()그리고도()이전에 표시됨. 그러나 각도 기반 삼각 함수를 사용하는 것이 선호됩니다. 이렇게 하면 다음과 같은 특수한 경우에 대한 반올림 오류를 피할 수 있습니다.신(30).

표 9.8사용 가능한 쌍곡선 함수를 보여줍니다.

표 9.8. 쌍곡선 함수

기능

설명

( 배스포츠 토토 ) → 배스포츠 토토

쌍곡선 사인

신(1)1.1752011936438014

코시 ( 배스포츠 토토 ) → 배스포츠 토토

쌍곡선 코사인

코시(0)1

( 배스포츠 토토 ) → 배스포츠 토토

하이퍼볼릭 탄젠트

탄(1)0.7615941559557649

아신 ( 배스포츠 토토 ) → 배스포츠 토토

역쌍곡사인

아신(1)0.881373587019543

아코쉬 ( 배스포츠 토토 ) → 배스포츠 토토

역쌍곡선코사인

아코쉬(1)0

아탄 ( 배스포츠 토토 ) → 배스포츠 토토

역쌍곡탄젠트

아탄(0.5)0.5493061443340548


수정사항 제출

문서에 올바르지 않은 내용이 있으면 일치하지 않습니다. 특정 기능에 대한 경험이 있거나 추가 설명이 필요한 경우 이용해주세요이 양식문서 문제를 보고합니다.