English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
PostgreSQL 내장 함수는 또한 집계 함수로, 문자나 수치 데이터에 대한 처리를 수행하는 데 사용됩니다.
아래는 모든 일반 PostgreSQL 내장 함수의 목록입니다:
COUNT 함수: 데이터베이스 테이블의 행 수를 계산하는 데 사용됩니다.
MAX 함수: 특정 열에서 가장 큰 값을 쿼리하는 데 사용됩니다.
MIN 함수: 특정 열에서 가장 작은 값을 쿼리하는 데 사용됩니다.
AVG 함수: 특정 열의 평균 값을 계산하는 데 사용됩니다.
SUM 함수: 숫자 열의 모든 값을 합산하는 데 사용됩니다.
ARRAY 함수: 입력 값(또는 null)을 배열에 추가하는 데 사용됩니다.
Numeric 함수: SQL에서 필요한 모든 작업 수의 함수를 전체로 나열합니다.
String 함수: SQL에서 필요한 모든 작업 문자의 함수를 전체로 나열합니다.
아래는 PostgreSQL에서 제공하는 수학 함수 목록입니다. 설명드리면, 이 함수들은 많은 형태가 있으며, 차이는 매개변수 타입만 다릅니다. 특별히 명시하지 않는 한, 특정 형태의 함수는 그 매개변수와 같은 데이터 타입을 반환합니다.
함수 | 반환 타입 | 설명 | 实例 | 结果 |
---|---|---|---|---|
abs(x | 절대값 | abs(-17.4) | 17.4 | |
cbrt(double | 최cubicroot | cbrt(27.0) | 3 | |
ceil(double/numeric) | 인수보다 크거나 같은 최소 정수 | ceil(-42.8) | -42 | |
degrees(double | 弧도를 각도로 변환 | degrees(0.5) | 28.6478897565412 | |
exp(double/numeric) | 자연 지수 | exp(1.0) | 2.71828182845905 | |
floor(double/numeric) | 인수보다 작거나 같은 최대 정수 | floor(-42.8) | -43 | |
ln(double/numeric) | 자연 로그 | ln(2.0) | 0.693147180559945 | |
log(double/numeric) | 10기본값의 로그 | log(100.0) | 2 | |
log(b numeric,x numeric) | numeric | 지정된 기본값의 로그 | log(2.0, 64.0) | 6.0000000000 |
mod(y, x) | 나머지를 가져오기 | mod(9,4) | 1 | |
pi() | double | "π" 상수 | pi() | 3.14159265358979 |
power(a double, b double) | double | a의 b승 | power(9.0, 3.0) | 729 |
power(a numeric, b numeric) | numeric | a의 b승 | power(9.0, 3.0) | 729 |
radians(double) | double | 각도를弧도로 변환 | radians(45.0) | 0.785398163397448 |
random() | double | 0.0에서1.0 사이의 무작위 수值 | random() | |
숫자(double/numeric) | 圆整为最接近的整数 | round(42.4) | 42 | |
round(v numeric, s int) | numeric | 圆整为s位小数数字 | round(42.438,2) | 42.44 |
sign(double/numeric) | 参数的符号(-1,0,+1) | sign(-8.4) | -1 | |
sqrt(double/numeric) | 平方根 | sqrt(2.0) | 1.4142135623731 | |
trunc(double/numeric) | 截断(向零靠近) | trunc(42.8) | 42 | |
trunc(v numeric, s int) | numeric | 截断为s小数位置的数字 | trunc(42.438,2) | 42.43 |
함수 | 설명 |
---|---|
acos(x) | 反余弦 |
asin(x) | 反正弦 |
atan(x) | 反正切 |
atan2(x, y) | 正切 y/x 的反函数 |
cos(x) | 余弦 |
cot(x) | 余切 |
sin(x) | 正弦 |
tan(x) | 正切 |
下面是 PostgreSQL 中提供的字符串操作符列表:
함수 | 반환 타입 | 설명 | 实例 | 结果 |
---|---|---|---|---|
string 丨丨 string | text | 字串连接 | 'Post' 丨丨 'greSQL' | PostgreSQL |
bit_length(string) | int | 字串里二进制位的个数 | bit_length('jose') | 32 |
char_length(string) | int | 字串中的字符个数 | char_length('jose') | 4 |
convert(string using conversion_name) | text | 使用指定的转换名字改变编码。 | convert('PostgreSQL' using iso_8859_1_to_utf8) | 'PostgreSQL' |
lower(string) | text | 把字串转化为小写 | lower('TOM') | tom |
octet_length(string) | int | 字串中的字节数 | octet_length('jose') | 4 |
overlay(string placing string from int [for int]) | text | 替换子字串 | overlay('Txxxxas' placing 'hom' from 2 for 4) | Thomas |
position(substring in string) | int | 指定的子字串的位置 | position('om' in 'Thomas') | 3 |
substring(string [from int] [for int]) | text | 抽取子字串 | substring('Thomas' from 2 for 3) | hom |
substring(string from pattern) | text | POSIX 정규 표현식과 일치하는 서브 문자열을 추출 | substring('Thomas' from '…$') | mas |
substring(string from pattern for escape) | text | SQL 정규 표현식과 일치하는 서브 문자열을 추출 | substring('Thomas' from '%#"o_a#"_' for '#') | oma |
trim([leading丨trailing 丨 both] [characters] from string) | text | 문자열 string의 시작에서/끝/둘쪽/ characters(기본적으로 공백)를 포함하는 가장 긴 문자열을 제거 | trim(both 'x' from 'xTomxx') | Tom |
upper(string) | text | 문자열을 대문자로 변환 | upper('tom') | TOM |
ascii(text) | int | 매개변수의 첫 번째 문자의 ASCII 코드 | ascii('x') | 120 |
btrim(string text [, characters text]) | text | string의 시작과 끝에서 characters에 포함된 문자(기본적으로 공백)를 제거하는 가장 긴 문자열을 제거 | btrim('xyxtrimyyx','xy') | trim |
chr(int) | text | ASCII 코드의 문자를 제공 | chr(65) | A |
convert(string text, [src_encoding name,] dest_encoding name) | text | 문자열을 dest_encoding으로 변환 | convert( 'text_in_utf8', 'UTF8', 'LATIN1) | ISO 8859-1text_in_utf를 코드로 표현8 |
initcap(text) | text | 각 단어의 첫 글자를 대문자로 변환하고, 나머지를 소문자로 유지한다. 단어는 문자와 숫자로 구성된 문자열로, 문자와 숫자로 구분된다. | initcap('hi thomas') | Hi Thomas |
length(string text) | int | string에 있는 문자의 수 | length('jose') | 4 |
lpad(string text, length int [, fill text]) | text | 문자 fill(기본적으로 공백)를 채우고 string을 길이 length로 가득 채운다. string이 이미 length보다 길다면 그 값을 자른다(오른쪽에서). | lpad('hi', 5, 'xy') | xyxhi |
ltrim(string text [, characters text]) | text | string의 시작에서 character(기본적으로는 공백)를 포함하는 가장 긴 문자열을 제거합니다。 | ltrim('zzzytrim','xyz') | trim |
md5(string text) | text | 주어진 string의 MD를 계산합니다。5해시를 계산하여 16진수로 결과를 반환합니다。 | md5('abc') | |
repeat(string text, number int) | text | string을 number번 반복합니다。 | repeat('Pg', 4) | PgPgPgPg |
replace(string text, from text, to text) | text | string에서 나타나는 모든 부분 문자열 from을 부분 문자열 to로 대체합니다。 | replace('abcdefabcdef', 'cd', 'XX') | abXXefabXXef |
rpad(string text, length int [, fill text]) | text | fill(기본적으로는 공백) 문자로 string을 채우면 string의 길이를 length로 만듭니다. string이 이미 length보다 길다면 그대로 자릅니다。 | rpad('hi', 5, 'xy') | hixyx |
rtrim(string text [, character text]) | text | string의 끝에서 character(기본적으로는 공백)를 포함하는 가장 긴 문자열을 제거합니다。 | rtrim('trimxxxx','x') | trim |
split_part(string text, delimiter text, field int) | text | delimiter로 구분된 string에서 생성된 field번째 부분 문자열을 반환합니다(1 Base) | split_part('abc~@~def~@~ghi', '~@~', 2) | def |
strpos(string, substring) | text | 선언된 부분 문자열의 위치를 나타냅니다。 | strpos('high','ig') | 2 |
substr(string, from [, count]) | text | 부분 문자열을 추출합니다。 | substr('alphabet', 3, 2) | ph |
to_ascii(text [, encoding]) | text | text를 다른 인코딩에서 ASCII로 변환합니다。 | to_ascii('Karel') | Karel |
to_hex(number int/bigint) | text | number를 해당 십육진수 형식으로 변환합니다. | to_hex(9223372036854775807) | 7fffffffffffffff |
translate(string text, from text, to text) | text | string에 포함된 from에 있는 모든 문자를 to에 있는 문자로 변환합니다. | translate('12345', '14', 'ax') | a23x5 |
함수 | 반환 타입 | 설명 | 예제 |
---|---|---|---|
to_char(timestamp, text) | text | 타임스탑을 문자열로 변환 | to_char(current_timestamp, 'HH12:MI:SS') |
to_char(interval, text) | text | 시간 간격을 문자열로 변환 | to_char(interval '15h 2m 12s', 'HH24:MI:SS') |
to_char(int, text) | text | 정수형을 문자열로 변환 | to_char(125, '999) |
to_char(double precision, text) | text | 실수형을 문자열로 변환 | to_char(125.8::real, '999D9) |
to_char(numeric, text) | text | 숫자를 문자열로 변환 | to_char(-125.8, '999D99S') |
to_date(text, text) | date | 문자열을 날짜로 변환 | to_date('05 Dec 2000', 'DD Mon YYYY') |
to_number(text, text) | numeric | 문자열을 숫자로 변환 | to_number('12,454.8-', '99G999D9S') |
to_timestamp(text, text) | timestamp | 지정된 시간 형식으로 변환 time zone 문자열을 타임스탑으로 변환 | to_timestamp('05 Dec 2000', 'DD Mon YYYY') |
to_timestamp(double precision) | timestamp | UNIX 원시 시간을 타임스탑으로 변환 | to_timestamp(1284352323) |
참고 문서: https://blog.csdn.net/sun5769675/기사/상세 정보/50628979