이 문서는 지원되지 않는 버전의 PostgreSQL을위한 것입니다.
당신은에 대해 같은 페이지를 볼 수 있습니다스포츠 토토 사이트 PostgreSQL : 문서 : 17 : 9.3. 수학적 함수 및 연산자버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

9.3. 수학적 함수 및 연산자

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

표 9.4사용 가능한 수학 연산자가 표시됩니다.

표 9.4. 수학 연산자

운영자 설명 example 결과
+ 추가 2 + 3 5
- subtraction 2 - 3 -1
* 곱셈 2 * 3 6
/ DIVISION (정수 부서는 결과를 잘라냅니다) 4 / 2 2
% 모듈로 (나머지) 5 % 4 1
^ 지수 (왼쪽에서 오른쪽으로 연관) 2.0 ^ 3.0 8
|/ 제곱근 |/ 25.0 5
||/ 큐브 루트 ||/ 27.0 3
! Factorial (더 이상 사용되지 않음, 사용factorial ()대신) 5 ! 120
!! 접두사 연산자로서의 Factorial (감가 상각, 사용factorial ()대신) !! 5 120
@ 절대 값 @ -5.0 5
& Bitwise and 91 & 15 11
| Bitwise 또는 32 | 3 35
# Bitwise XOR 17 # 5 20
~ Bitwise Not ~1 -2
<< 비트 시프트 왼쪽 1 << 4 16
Bitwise Shift Right 8 >> 2 2

Bitwise 연산자는 적분 데이터 유형에서만 작동하며 비트 문자열 유형에서도 사용할 수 있습니다비트and비트 varying,표 9.14.

표 9.5가용 수학적 토토 베이를 보여줍니다. 테이블에서dp표시이중 정밀도. 이러한 기능 중 다수는 다른 인수 유형을 가진 여러 형태로 제공됩니다.이중 정밀도데이터는 주로 호스트 시스템의 C 라이브러리 위에 구현됩니다. 따라서 경계 사례의 정확성과 동작은 호스트 시스템에 따라 다를 수 있습니다.

표 9.5. 수학적 기능

기능 반환 유형 설명 example 결과
abs (x) (입력과 동일) 절대 값 ABS (-17.4) 17.4
cbrt (dp) dp 큐브 루트 CBRT (27.0) 3
CEIL (dp또는숫자) (입력과 동일) 가장 가까운 정수는 인수보다 크거나 동일합니다 CEIL (-42.8) -42
천장 (dp또는숫자) (입력과 동일) 가장 가까운 정수는 인수보다 크거나 동일합니다 (CEIL) 천장 (-95.3) -95
Degrees (dp) dp Radians to Legres Degrees (0.5) 28.6478897565412
div (y 숫자, x 숫자) 숫자 정수 지수의y/x div (9,4) 2
exp (dp또는숫자) (입력과 동일) 지수 Exp (1.0) 2.71828182845905
Factorial (bigint) 숫자 Factorial Factorial (5) 120
바닥 (dp또는숫자) (입력과 동일) 가장 가까운 정수는 인수보다 작거나 동일합니다 바닥 (-42.8) -43
ln (dp또는숫자) (입력과 동일) 자연 로그 ln (2.0) 0.693147180559945
log (dp또는숫자) (입력과 동일) 베이스 10 로그 로그 (100.0) 2
log10 (dp또는숫자) (입력과 동일) 베이스 10 로그 log10 (100.0) 2
log (b 숫자, x 숫자) 숫자 기본 대수b 로그 (2.0, 64.0) 6.0000000000
mod (y, x) (인수 유형과 동일) 나머지y/x mod (9,4) 1
pi () dp πConstant pi () 3.14159265358979
Power (a dp, b dp) dp a|b Power (9.0, 3.0) 729
Power (a 숫자, b 숫자) 숫자 a|b Power (9.0, 3.0) 729
Radians (dp) dp 라디안에 대한 학위 Radians (45.0) 0.785398163397448
라운드 (dp또는숫자) (입력과 동일) 가장 가까운 정수로 돌아가 라운드 (42.4) 42
라운드 (v 숫자, s int) 숫자 라운드에서s소수점 장소 라운드 (42.4382, 2) 42.44
scale (숫자) Integer 인수 규모 (분수 부품의 소수점 숫자 수) 스케일 (8.41) 2
부호 (dp또는숫자) (입력과 동일) 인수의 표시 (-1, 0, +1) 표시 (-8.4) -1
sqrt (dp또는숫자) (입력과 동일) 제곱근 SQRT (2.0) 1.4142135623731
trunc (dp또는숫자) (입력과 동일) 제로를 향해 잘려 Trunc (42.8) 42
trunc (v 숫자, s int) 숫자 자르기s소수점 장소 Trunc (42.4382, 2) 42.43
width_bucket (Operand dp, b1 dp, b2 dp, count int) int 버킷 번호를 반환Operand히스토그램에 할당됩니다count범위에 걸친 동일한 전체 버킷b1tob2; 보고0또는count+1범위 외부의 입력 width_bucket (5.35, 0.024, 10.06, 5) 3
width_bucket (Operand 숫자, b1 숫자, b2 숫자, count int) int 버킷 번호를 반환Operand히스토그램에 할당됩니다count범위에 걸친 동일한 전체 버킷b1tob2; 보고0또는count+1범위 외부의 입력 width_bucket (5.35, 0.024, 10.06, 5) 3
width_bucket (Operand Anylement, Thresholds AnyArray) int 버킷 번호를 반환Operand버킷의 하한을 나열하는 배열이 주어지면 할당됩니다. 보고0첫 번째 하한보다 적은 입력; 그만큼Thresholds배열정렬해야합니다, 가장 작은 첫 번째 또는 예기치 않은 결과가 얻어 질 것입니다 width_bucket (now (), 배열 [ '어제', '오늘', '내일'] :: timestamptz []) 2

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

표 9.6. 임의의 기능

기능 반환 유형 설명
random () dp 범위의 임의 값 0.0 <= x <1.0
setseed (dp) void 후속 용 시드 설정random ()호출 (-1.0에서 1.0 사이의 값, 포함)

therandom ()토토 베이는 간단한 선형 합동 알고리즘을 사용합니다. 빠르지 만 암호화 응용 프로그램에는 적합하지 않습니다.pgcrypto보다 안전한 대안을위한 모듈. 만약에setseed ()호출, 후속의 결과random ()현재 세션의 호출은 재발행으로 반복 가능합니다setseed ()같은 인수와 함께. 사전없이setseed ()같은 세션에서 호출, 첫 번째random ()Call은 플랫폼 의존적 임의 비트 소스에서 씨앗을 얻습니다.

표 9.7사용 가능한 삼각 함수를 보여줍니다. 이 모든 기능은 인수와 유형의 반환 값을 취합니다이중 정밀도. 각각의 삼각법은 라디안의 각도를 측정하는 두 가지 변형과 각도를 각도로 측정하는 두 가지 변형으로 제공됩니다.

표 9.7. 삼각 함수

토토 베이 (라디안) 토토 베이 (도) 설명
acos (x) acoSD (x) 역 코사인
asin (x) asind (x) 역 사인
atan (x) atand (x) 역 탄젠트
atan2 (y, x) atan2d (y, x) 역 탄젠트의y/x
cos (x) cosd (x) 코사인
COT (x) cotd (x) cotangent
sin (x) sind (x) sine
tan (x) tand (x) 탄젠트

Note

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

표 9.8사용 가능한 쌍곡선 기능을 보여줍니다. 이 모든 기능은 인수와 유형의 반환 값을 취합니다이중 정밀도.

표 9.8. 쌍곡선 기능

기능 설명 example 결과
sinh (x) 쌍곡 사인 sinh (0) 0
Cosh (x) 쌍곡선 코사인 Cosh (0) 1
tanh (x) 쌍곡선 탄젠트 Tanh (0) 0
asinh (x) 역 쌍곡선 사인 Asinh (0) 0
acosh (x) 역 쌍곡선 코사인 acosh (1) 0
atanh (x) 역 쌍곡선 접선 atanh (0) 0