{#all-functions-all-functions} # 모든 함수 이 페이지는 이 레퍼런스에 문서화된 모든 함수, 모두 126개 항목을 알파벳순 표 하나에 나열합니다. 어느 범주에 속하는지 몰라도 이름으로 함수를 찾을 수 있습니다. **Function** 열은 고려할 점과 실제 예제가 실린 온전한 항목으로 이어집니다. **Signature** 열은 카탈로그가 담고 있는 모든 오버로드를 보여 줍니다. 이름이 같은 항목이 둘 있다면, 그것은 OID도 뜻도 다른 두 개의 함수입니다. 문자열에 대한 `length`는 경로에 대한 `length`가 아니며, 시그니처 열이 그 둘을 구별해 줍니다. | 함수 | 시그니처 | 설명 | 도입 시점 | | --- | --- | --- | --- | | [`abs`](#numeric-abs) | abs ( x jsonb ) -> jsonb
abs ( x numeric ) -> numeric | 숫자의 절댓값을 반환합니다. | 2.17 이전부터 | | [`acos`](#numeric-acos) | acos ( x jsonb ) -> jsonb
acos ( x double precision ) -> double precision | `x`의 아크코사인을 라디안으로 반환합니다. `x`는 −1과 1 사이여야 합니다. | 2.17 이전부터 | | [`ag_get_graphconstraintdef`](#scalar-ag_get_graphconstraintdef) | ag_get_graphconstraintdef ( constraint oid ) -> text | OID를 주면 그래프 제약에 대한 `CREATE CONSTRAINT` 명령을 재구성합니다. `pg_get_constraintdef`의 그래프 쪽 대응 함수이고, `pg_dump`가 쓰는 것입니다. | 2.17 이전부터 | | [`ag_get_propindexdef`](#scalar-ag_get_propindexdef) | ag_get_propindexdef ( index oid ) -> text | OID를 주면 속성 인덱스에 대한 `CREATE PROPERTY INDEX` 명령을 재구성합니다. | 2.17 이전부터 | | [`ag_property_text`](#jsonb-ag_property_text) | ag_property_text ( properties jsonb, key text, expected_kind "char" ) -> text | 속성의 값을 `text`로 반환하지만, 저장된 값이 요구한 JSON 종류일 때만 그렇습니다. | 2.18에 추가 | | [`agversion`](#scalar-agversion) | agversion ( ) -> text | 실행 중인 서버의 AgensGraph 버전을 반환하며, `version()`이 함께 담는 PostgreSQL 부분은 빼고 반환합니다. | 2.17 이전부터 | | [`all`](#predicate-all) | all ( variable IN list WHERE predicate ) -> boolean | 리스트의 모든 요소에 대해 조건이 성립하면 참을 반환합니다. | 2.17 이전부터 | | [`allshortestpaths`](#path-allshortestpaths) | allshortestpaths ( pattern ) -> graphpath | 두 정점 사이의 모든 최단 경로를 찾습니다. 경로 변수에 이름을 붙이면 경로마다 한 행을 반환하고, 표현식으로 쓰면 경로의 배열을 반환합니다. | 2.17 이전부터 | | [`any`](#predicate-any) | any ( variable IN list WHERE predicate ) -> boolean | 리스트의 요소 중 적어도 하나에 대해 조건이 성립하면 참을 반환합니다. | 2.17 이전부터 | | [`array_size`](#list-array_size) | array_size ( list jsonb ) -> integer
array_size ( list json ) -> integer
array_size ( list anyarray ) -> integer | 배열의 요소 개수를 반환합니다. | 2.17 이전부터 | | [`asin`](#numeric-asin) | asin ( x jsonb ) -> jsonb
asin ( x double precision ) -> double precision | `x`의 아크사인을 라디안으로 반환합니다. `x`는 −1과 1 사이여야 합니다. | 2.17 이전부터 | | [`atan`](#numeric-atan) | atan ( x jsonb ) -> jsonb
atan ( x double precision ) -> double precision | `x`의 아크탄젠트를 라디안으로 반환합니다. | 2.17 이전부터 | | [`atan2`](#numeric-atan2) | atan2 ( y jsonb, x jsonb ) -> jsonb
atan2 ( y double precision, x double precision ) -> double precision | `y / x`의 아크탄젠트를 라디안으로 반환하며, 두 인자의 부호를 써서 결과를 올바른 사분면에 놓습니다. | 2.17 이전부터 | | [`avg`](#aggregate-avg) | avg ( expression numeric ) -> numeric | 그룹에서 null이 아닌 값들의 산술 평균을 반환합니다. | 2.17 이전부터 | | [`cardinality`](#list-cardinality) | cardinality ( value jsonb ) -> jsonb
cardinality ( p graphpath ) -> jsonb | 리스트의 요소 수, 맵의 항목 수, 또는 경로의 정점과 간선 수를 반환합니다. | 2.18에 추가 | | [`ceil`](#numeric-ceil) | ceil ( x jsonb ) -> jsonb
ceil ( x numeric ) -> numeric | `x`보다 작지 않은 가장 작은 정수를 반환합니다. | 2.17 이전부터 | | [`coalesce`](#scalar-coalesce) | coalesce ( value [, value ] ... ) -> jsonb | null이 아닌 첫 인자를 반환합니다. | 2.17 이전부터 | | [`collect`](#aggregate-collect) | collect ( expression anyelement ) -> jsonb
collect ( v vertex ) -> vertex[]
collect ( e edge ) -> edge[]
collect ( p graphpath ) -> graphpath[] | 그룹의 값들을 그 그룹의 행 순서대로 리스트에 모읍니다. | 2.17 이전부터 | | [`cos`](#numeric-cos) | cos ( x jsonb ) -> jsonb
cos ( x double precision ) -> double precision | 라디안으로 주어진 각의 코사인을 반환합니다. | 2.17 이전부터 | | [`cosd`](#numeric-cosd) | cosd ( x double precision ) -> double precision | 도로 주어진 각의 코사인을 반환합니다. | 2.17 이전부터 | | [`cot`](#numeric-cot) | cot ( x jsonb ) -> jsonb
cot ( x double precision ) -> double precision | 라디안으로 주어진 각의 코탄젠트, 즉 탄젠트의 역수를 반환합니다. 실제 예제는 [`atan2`](#numeric-atan2)를 참고하십시오. | 2.17 이전부터 | | [`count`](#aggregate-count) | count ( * ) -> bigint
count ( expression ) -> bigint | 그룹의 행을 셉니다. `count(*)`는 모든 행을 세고, `count(expression)`은 그 표현식이 null이 아닌 행을 셉니다. | 2.17 이전부터 | | [`cypher_to_jsonb`](#jsonb-cypher_to_jsonb) | cypher_to_jsonb ( value anyelement ) -> jsonb | Cypher의 규칙으로 값을 `jsonb`로 감쌉니다. 그 규칙은 문자열 타입에 대해 `to_jsonb`의 규칙과 다릅니다. | 2.17 이전부터 | | [`datetime`](#scalar-datetime) | datetime ( ) -> timestamp with time zone
datetime ( timezone "any" ) -> timestamp without time zone
datetime ( year integer, month integer, mday integer, hour integer, min integer, sec integer, millisec integer, nanosec integer, timezone "any" ) -> timestamp without time zone | 현재 트랜잭션의 타임스탬프, 지정한 시간대의 현재 시각, 또는 각 부분으로 만든 타임스탬프를 반환합니다. | 2.17 이전부터 | | [`degrees`](#numeric-degrees) | degrees ( x jsonb ) -> jsonb
degrees ( x double precision ) -> double precision | 라디안을 도로 변환합니다. | 2.17 이전부터 | | [`dijkstra`](#path-dijkstra) | dijkstra ( pattern, weight ) -> graphpath
dijkstra ( pattern, weight, condition ) -> graphpath
dijkstra ( pattern, weight, LIMIT count ) -> graphpath
dijkstra ( pattern, weight, condition, LIMIT count ) -> graphpath | 두 정점 사이의 가장 값싼 경로를 찾습니다. 각 간선의 비용은 `weight`가 평가된 값입니다. | 2.17 이전부터 | | [`e`](#numeric-e) | e ( ) -> numeric | 오일러 수를 `numeric`으로 반환합니다. | 2.17 이전부터 | | [`edge_to_jsonb`](#jsonb-edge_to_jsonb) | edge_to_jsonb ( e edge ) -> jsonb | 간선의 `properties`를 반환합니다. 형 변환 `e::jsonb`가 쓰는 함수가 이것이고, [`properties(e)`](#scalar-properties)와 같은 값을 반환합니다. | 2.17 이전부터 | | [`edges`](#path-edges) | edges ( p graphpath ) -> edge[] | 경로의 간선을 순서대로 반환합니다. [`relationships`](#path-relationships)가 Cypher가 쓰는 이름으로 부른 같은 함수입니다. | 2.17 이전부터 | | [`end_id`](#scalar-end_id) | end_id ( e edge ) -> graphid | 그 정점을 읽지 않고, 간선이 가리키는 정점의 `graphid`를 반환합니다. | 2.17 이전부터 | | [`end_vertex`](#path-end_vertex) | end_vertex ( e edge ) -> vertex | 간선이 가리키는 정점을 반환합니다. `endNode`가 Cypher가 쓰는 이름으로 부른 같은 함수이며, 둘 다 [스칼라 페이지](#scalar-endnode)에 나열돼 있습니다. | 2.17 이전부터 | | [`endNode`](#scalar-endnode) | endNode ( e edge ) -> vertex | 간선이 가리키는 정점을 반환합니다. `end_vertex`가 다른 이름으로 부른 같은 함수입니다. 경로 페이지의 [`end_vertex`](#path-end_vertex)를 참고하십시오. | 2.17 이전부터 | | [`exists`](#predicate-exists) | exists ( pattern ) -> boolean
exists ( property_reference ) -> boolean | 패턴을 주면 그 패턴이 적어도 한 번 일치할 때 참을 반환합니다. 속성 참조를 주면 그 속성이 있고 null이 아닐 때 참을 반환합니다. | 2.17 이전부터 | | [`exp`](#numeric-exp) | exp ( x jsonb ) -> jsonb
exp ( x numeric ) -> numeric | *e*의 `x`제곱을 반환합니다. | 2.17 이전부터 | | [`floor`](#numeric-floor) | floor ( x jsonb ) -> jsonb
floor ( x numeric ) -> numeric | `x`보다 크지 않은 가장 큰 정수를 반환합니다. 실제 예제는 [`ceil`](#numeric-ceil)을 참고하십시오. | 2.17 이전부터 | | [`get_last_graph_write_stats`](#scalar-get_last_graph_write_stats) | get_last_graph_write_stats ( ) -> record | 이 세션의 가장 최근 그래프 쓰기가 무엇을 바꿨는지 카운터 다섯 개로 된 한 행으로 보고합니다. `insertedvertices`, `insertededges`, `deletedvertices`, `deletededges`, `updatedproperties`입니다. | 2.17 이전부터 | | [`get_time`](#scalar-get_time) | get_time ( ) -> time without time zone
get_time ( timezone "any" ) -> time without time zone | 하루 중 현재 시각을 로컬 기준으로, 또는 지정한 시간대 기준으로 반환합니다. | 2.17 이전부터 | | [`graph_labid`](#scalar-graph_labid) | graph_labid ( qualified_label cstring ) -> integer | `graph.label` 형태로 지정한 레이블의 레이블 id를 반환합니다. | 2.17 이전부터 | | [`graphid`](#scalar-graphid) | graphid ( labid integer, locid bigint ) -> graphid
graphid ( id numeric ) -> graphid | 레이블 id와 로컬 id로, 또는 `graphid`가 출력되는 형태인 `labid.locid` 숫자로 `graphid`를 만듭니다. | 2.17 이전부터 | | [`graphid_in_jsonb_array`](#jsonb-graphid_in_jsonb_array) | graphid_in_jsonb_array ( id graphid, elements jsonb ) -> boolean | `graphid`가 `jsonb` 배열에 담긴 그래프 요소 중 하나이면 참을 반환합니다. | 2.17 이전부터 | | [`graphid_labid`](#scalar-graphid_labid) | graphid_labid ( id graphid ) -> integer | `graphid`의 레이블 부분, 즉 점 앞의 숫자를 반환합니다. | 2.17 이전부터 | | [`graphid_locid`](#scalar-graphid_locid) | graphid_locid ( id graphid ) -> bigint | `graphid`의 로컬 부분, 즉 점 뒤의 숫자를 반환하며, 그 값은 그 레이블의 시퀀스에서 나온 것입니다. | 2.17 이전부터 | | [`head`](#list-head) | head ( list jsonb ) -> jsonb
head ( list anyarray ) -> anyelement | 리스트의 첫 요소를 반환합니다. | 2.17 이전부터 | | [`id`](#scalar-id) | id ( v vertex ) -> graphid
id ( e edge ) -> graphid | 그래프 요소의 식별자를 반환합니다. | 2.17 이전부터 | | [`isEmpty`](#predicate-isempty) | isEmpty ( value jsonb ) -> boolean | 리스트에 요소가 없거나 맵에 키가 없으면 참을 반환합니다. | 2.17 이전부터 | | [`jsonb_add`](#jsonb-arithmetic-operators-on-jsonb) | jsonb_add ( a jsonb, b jsonb ) -> jsonb | 백틱 `+` 연산자를 구현합니다. 덧셈이거나, 문자열 둘 또는 리스트 둘의 이어 붙이기입니다. | 2.17 이전부터 | | [`jsonb_array_length`](#jsonb-jsonb_array_length) | jsonb_array_length ( list jsonb ) -> integer | `jsonb` 배열의 요소 개수를 `integer`로 반환합니다. | 2.17 이전부터 | | [`jsonb_div`](#jsonb-arithmetic-operators-on-jsonb) | jsonb_div ( a jsonb, b jsonb ) -> jsonb | 백틱 `/` 연산자를 구현합니다. 두 피연산자가 모두 정수면 정수 나눗셈입니다. | 2.17 이전부터 | | [`jsonb_mod`](#jsonb-arithmetic-operators-on-jsonb) | jsonb_mod ( a jsonb, b jsonb ) -> jsonb | 백틱 `%` 연산자를 구현합니다. | 2.17 이전부터 | | [`jsonb_mul`](#jsonb-arithmetic-operators-on-jsonb) | jsonb_mul ( a jsonb, b jsonb ) -> jsonb | 백틱 `*` 연산자를 구현합니다. | 2.17 이전부터 | | [`jsonb_pow`](#jsonb-arithmetic-operators-on-jsonb) | jsonb_pow ( a jsonb, b jsonb ) -> jsonb | 백틱 `^` 연산자를 구현합니다. | 2.17 이전부터 | | [`jsonb_sub`](#jsonb-arithmetic-operators-on-jsonb) | jsonb_sub ( a jsonb, b jsonb ) -> jsonb | 백틱 이항 `-` 연산자를 구현합니다. | 2.17 이전부터 | | [`jsonb_uminus`](#jsonb-arithmetic-operators-on-jsonb) | jsonb_uminus ( a jsonb ) -> jsonb | 백틱 접두 `-` 연산자를 구현합니다. | 2.17 이전부터 | | [`jsonb_uplus`](#jsonb-arithmetic-operators-on-jsonb) | jsonb_uplus ( a jsonb ) -> jsonb | 백틱 접두 `+` 연산자를 구현합니다. | 2.17 이전부터 | | [`keys`](#list-keys) | keys ( map jsonb ) -> jsonb | 맵의 키 이름 목록, 또는 그래프 요소의 속성 이름 목록을 반환합니다. | 2.17 이전부터 | | [`label`](#scalar-label) | label ( v vertex ) -> jsonb
label ( e edge ) -> jsonb | 그래프 요소가 만들어질 때의 레이블 이름을 `jsonb` 문자열로 반환합니다. | 2.17 이전부터 | | [`labels`](#scalar-labels) | labels ( v vertex ) -> jsonb | 정점 자신의 레이블과 그것이 상속하는 모든 레이블을 가까운 것부터 담은 리스트를 반환합니다. | 2.17 이전부터 | | [`last`](#list-last) | last ( list jsonb ) -> jsonb
last ( list anyarray ) -> anyelement | 리스트의 마지막 요소를 반환합니다. 빈 리스트는 null을 반환합니다. 실제 예제는 [`head`](#list-head)를 참고하십시오. | 2.17 이전부터 | | [`left`](#string-left) | left ( string jsonb, n jsonb ) -> jsonb
left ( string text, n integer ) -> text | 문자열의 앞 `n`글자를 반환합니다. | 2.17 이전부터 | | [`length`](#path-length) | length ( p graphpath ) -> jsonb
length ( vs vertex[] ) -> jsonb
length ( es edge[] ) -> jsonb
length ( ps graphpath[] ) -> jsonb | 경로에 대해서는 그 안의 간선 수를, 배열에 대해서는 요소 수를 반환합니다. | 2.17 이전부터 | | [`length`](#scalar-length) | length ( value jsonb ) -> jsonb | 문자열의 글자 수, 리스트의 요소 수, 또는 맵의 키 수를 반환합니다. | 2.17 이전부터 | | [`ln`](#numeric-ln) | ln ( x double precision ) -> double precision
ln ( x numeric ) -> numeric | `x`의 자연로그를 반환합니다. Cypher에서 [`log`](#numeric-log)가 해석되는 함수가 이것이고, 이 이름으로 직접 호출할 수도 있습니다. | 2.17 이전부터 | | [`localdatetime`](#scalar-localdatetime) | localdatetime ( ) -> timestamp with time zone
localdatetime ( timezone "any" ) -> timestamp without time zone | 현재 트랜잭션의 타임스탬프, 또는 지정한 시간대의 현재 벽시계 값을 반환합니다. | 2.17 이전부터 | | [`log`](#numeric-log) | log ( x jsonb ) -> jsonb | `x`의 **자연**로그를 반환합니다. | 2.17 이전부터 | | [`log10`](#numeric-log10) | log10 ( x double precision ) -> double precision
log10 ( x numeric ) -> numeric | `x`의 밑 10 로그를 반환합니다. 다시 쓰이지 않으므로 이 이름은 적힌 그대로의 뜻입니다. | 2.17 이전부터 | | [`lower`](#string-lower) | lower ( string text ) -> text | 문자열을 소문자로 반환합니다. PostgreSQL 자신의 함수이고, `jsonb` 문자열이 `text`로 변환되기 때문에 Cypher에서 닿을 수 있습니다. [`toLower`](#string-tolower)가 Cypher 쪽 표기이고 `jsonb`를 곧바로 받습니다. | 2.17 이전부터 | | [`lTrim`](#string-ltrim) | lTrim ( string jsonb ) -> jsonb | 문자열 앞쪽의 공백을 제거합니다. | 2.17 이전부터 | | [`max`](#aggregate-max) | max ( expression jsonb ) -> jsonb
max ( expression numeric ) -> numeric | 그룹에서 가장 큰 값을 반환합니다. | 2.17 이전부터 | | [`min`](#aggregate-min) | min ( expression jsonb ) -> jsonb
min ( expression numeric ) -> numeric | 그룹에서 가장 작은 값을 반환합니다. [`max`](#aggregate-max)의 고려할 점이 그대로 적용됩니다. | 2.17 이전부터 | | [`nodes`](#path-nodes) | nodes ( p graphpath ) -> vertex[] | 경로의 정점을 순서대로 반환하며, 그 경로가 시작하는 정점부터 시작합니다. | 2.17 이전부터 | | [`none`](#predicate-none) | none ( variable IN list WHERE predicate ) -> boolean | 리스트의 어떤 요소에 대해서도 조건이 성립하지 않으면 참을 반환합니다. [`any`](#predicate-any)의 부정입니다. | 2.17 이전부터 | | [`percentileCont`](#aggregate-percentilecont) | percentileCont ( list jsonb, percentile numeric ) -> double precision | 숫자 리스트의 백분위수를 반환하며, 요구한 위치를 사이에 둔 두 값 사이를 보간합니다. | 2.17 이전부터 | | [`percentileDisc`](#aggregate-percentiledisc) | percentileDisc ( list jsonb, percentile numeric ) -> double precision | 숫자 리스트의 백분위수를 반환하며, 실제로 리스트에 있는 요소로 내림합니다. 고려할 점은 [`percentileCont`](#aggregate-percentilecont)와 같습니다. | 2.17 이전부터 | | [`pi`](#numeric-pi) | pi ( ) -> double precision | π를 반환합니다. 실제 예제는 [`degrees`](#numeric-degrees)를 참고하십시오. | 2.17 이전부터 | | [`properties`](#scalar-properties) | properties ( v vertex ) -> jsonb
properties ( e edge ) -> jsonb | 그래프 요소의 `properties` 전체를 맵으로 반환합니다. | 2.17 이전부터 | | [`radians`](#numeric-radians) | radians ( x jsonb ) -> jsonb
radians ( x double precision ) -> double precision | 도를 라디안으로 변환합니다. | 2.17 이전부터 | | [`rand`](#numeric-rand) | rand ( ) -> jsonb | 0 이상 1 미만의 반열린 구간에 있는 수를 반환합니다. | 2.17 이전부터 | | [`range`](#list-range) | range ( start integer, stop integer ) -> jsonb
range ( start integer, stop integer, step integer ) -> jsonb | `start`부터 `stop`까지의 정수 목록을 반환하며, 양 끝을 포함합니다. | 2.17 이전부터 | | [`regather_graphmeta`](#scalar-regather_graphmeta) | regather_graphmeta ( ) -> boolean | `ag_graphmeta`를 비우고, 현재 그래프의 모든 간선 레이블을 스캔해 다시 만듭니다. `ag_graphmeta`는 어떤 레이블 세 쌍이 나타나는지와 각각을 이루는 간선이 몇 개인지를 기록하며, 플래너는 그것으로 패턴이 일치시킬 수 없는 레이블 테이블을 건너뜁니다. | 2.17 이전부터 | | [`relationships`](#path-relationships) | relationships ( p graphpath ) -> edge[] | 경로의 간선을 순서대로 반환합니다. [`edges`](#path-edges)와 동일합니다. | 2.17 이전부터 | | [`replace`](#string-replace) | replace ( string jsonb, old jsonb, new jsonb ) -> jsonb | 어떤 부분 문자열이 나타나는 모든 곳을 다른 문자열로 바꿉니다. | 2.17 이전부터 | | [`reverse`](#string-reverse) | reverse ( string text ) -> text
reverse ( list jsonb ) -> jsonb
reverse ( list anyarray ) -> anyarray | 문자열이나 리스트를 뒤집습니다. | 2.17 이전부터 | | [`right`](#string-right) | right ( string jsonb, n jsonb ) -> jsonb
right ( string text, n integer ) -> text | 문자열의 뒤 `n`글자를 반환합니다. 속성에 정수 리터럴을 함께 줄 때의 모호함을 [`left`](#string-left)와 공유하며, 그것을 푸는 두 방법도 같습니다. | 2.17 이전부터 | | [`round`](#numeric-round) | round ( x jsonb ) -> jsonb
round ( x numeric [, scale integer ] ) -> numeric | `x`를 가장 가까운 정수로 반올림하며, 0.5는 0에서 먼 쪽으로 올립니다. | 2.17 이전부터 | | [`rTrim`](#string-rtrim) | rTrim ( string jsonb ) -> jsonb | 문자열 뒤쪽의 공백을 제거합니다. 실제 예제는 [`lTrim`](#string-ltrim)을 참고하십시오. | 2.17 이전부터 | | [`shortestpath`](#path-shortestpath) | shortestpath ( pattern ) -> graphpath | 두 정점 사이의 최단 경로 하나를 간선 수 기준으로 찾습니다. 똑같이 짧은 것이 여럿이면 그중 하나가 반환됩니다. | 2.17 이전부터 | | [`sign`](#numeric-sign) | sign ( x jsonb ) -> jsonb
sign ( x numeric ) -> numeric | `x`의 부호에 따라 −1, 0, 1을 반환합니다. 실제 예제는 [`ceil`](#numeric-ceil)을 참고하십시오. | 2.17 이전부터 | | [`sin`](#numeric-sin) | sin ( x double precision ) -> double precision | 라디안으로 주어진 각의 사인을 반환합니다. | 2.17 이전부터 | | [`sind`](#numeric-sind) | sind ( x double precision ) -> double precision | 도로 주어진 각의 사인을 반환합니다. 실제 예제는 [`cosd`](#numeric-cosd)를 참고하십시오. | 2.17 이전부터 | | [`single`](#predicate-single) | single ( variable IN list WHERE predicate ) -> boolean | 리스트의 요소 중 정확히 하나에 대해 조건이 성립하면 참을 반환합니다. | 2.17 이전부터 | | [`size`](#scalar-size) | size ( value ) -> jsonb
size ( pattern ) -> bigint | 값을 주면 그 길이를 반환합니다. 패턴을 주면 그 패턴이 일치하는 횟수를 반환합니다. | 2.17 이전부터 | | [`split`](#string-split) | split ( string text, delimiter text ) -> anyarray | 구분자가 나타나는 모든 곳에서 문자열을 잘라 리스트로 만듭니다. | 2.17 이전부터 | | [`sqrt`](#numeric-sqrt) | sqrt ( x jsonb ) -> jsonb
sqrt ( x numeric ) -> numeric | `x`의 제곱근을 반환합니다. | 2.17 이전부터 | | [`start_id`](#scalar-start_id) | start_id ( e edge ) -> graphid | 그 정점을 읽지 않고, 간선이 떠나는 정점의 `graphid`를 반환합니다. [`end_id`](#scalar-end_id)의 고려할 점이 그대로 적용됩니다. | 2.17 이전부터 | | [`start_vertex`](#path-start_vertex) | start_vertex ( e edge ) -> vertex | 간선이 떠나는 정점을 반환합니다. `startNode`가 Cypher가 쓰는 이름으로 부른 같은 함수입니다. [`startNode`](#scalar-startnode)를 참고하십시오. | 2.17 이전부터 | | [`startNode`](#scalar-startnode) | startNode ( e edge ) -> vertex | 간선이 떠나는 정점을 반환합니다. `start_vertex`가 다른 이름으로 부른 같은 함수입니다. 경로 페이지의 [`start_vertex`](#path-start_vertex)를 참고하십시오. | 2.17 이전부터 | | [`stdev`](#aggregate-stdev) | stdev ( expression numeric ) -> numeric | 그룹의 값들의 표본 표준편차를 반환합니다. *n* − 1로 나누는 추정값입니다. | 2.17 이전부터 | | [`stdevp`](#aggregate-stdevp) | stdevp ( expression numeric ) -> numeric | 그룹의 값들의 모표준편차를 반환합니다. *n*으로 나누는 추정값입니다. 파서가 이 이름을 `stddev_pop`으로 다시 쓰며, `stDevP`도 같은 호출입니다. | 2.17 이전부터 | | [`str_size`](#string-str_size) | str_size ( string text ) -> integer | 문자열의 글자 수를 `integer`로 반환합니다. | 2.17 이전부터 | | [`string_contains`](#string-matching-without-a-function) | string_contains ( a jsonb, b jsonb ) -> boolean | `CONTAINS`를 구현합니다. 오른쪽 문자열이 왼쪽 문자열 어디에든 나타나면 참입니다. | 2.17 이전부터 | | [`string_ends_with`](#string-matching-without-a-function) | string_ends_with ( a jsonb, b jsonb ) -> boolean | `ENDS WITH`를 구현합니다. 왼쪽 문자열이 오른쪽 문자열로 끝나면 참입니다. | 2.17 이전부터 | | [`string_regex`](#string-matching-without-a-function) | string_regex ( a jsonb, b jsonb ) -> boolean | `=~`를 구현합니다. 왼쪽 문자열이 오른쪽을 정규 표현식으로 삼아 일치하면 참입니다. | 2.17 이전부터 | | [`string_starts_with`](#string-matching-without-a-function) | string_starts_with ( a jsonb, b jsonb ) -> boolean | `STARTS WITH`를 구현합니다. 왼쪽 문자열이 오른쪽 문자열로 시작하면 참입니다. | 2.17 이전부터 | | [`substring`](#string-substring) | substring ( string jsonb, start jsonb ) -> jsonb
substring ( string jsonb, start jsonb, count jsonb ) -> jsonb | 문자열의 일부를 반환하며, `start`에서 시작해 끝까지 또는 `count`글자만큼 이어집니다. | 2.17 이전부터 | | [`sum`](#aggregate-sum) | sum ( expression numeric ) -> numeric | 그룹에서 null이 아닌 값들의 합을 반환합니다. | 2.17 이전부터 | | [`tail`](#list-tail) | tail ( list jsonb ) -> jsonb
tail ( list anyarray ) -> anyarray | 리스트의 첫 요소를 뺀 나머지 전부를 반환합니다. | 2.17 이전부터 | | [`tan`](#numeric-tan) | tan ( x jsonb ) -> jsonb
tan ( x double precision ) -> double precision | 라디안으로 주어진 각의 탄젠트를 반환합니다. 실제 예제는 [`sin`](#numeric-sin)을 참고하십시오. | 2.17 이전부터 | | [`tand`](#numeric-tand) | tand ( x double precision ) -> double precision | 도로 주어진 각의 탄젠트를 반환합니다. 실제 예제는 [`cosd`](#numeric-cosd)를 참고하십시오. | 2.17 이전부터 | | [`to_jsonb`](#jsonb-to_jsonb) | to_jsonb ( value anyelement ) -> jsonb | 어떤 SQL 값이든 `jsonb`로 변환하며, 복합 타입은 객체로, 배열은 배열로 대응시킵니다. | 2.17 이전부터 | | [`toBoolean`](#type-conversion-toboolean) | toBoolean ( value text ) -> boolean
toBoolean ( value "any" ) -> boolean | 값이 나타내는 불리언을 반환하고, 아무것도 나타내지 않으면 null을 반환합니다. | 2.17 이전부터 | | [`toBooleanOrNull`](#type-conversion-tobooleanornull) | toBooleanOrNull ( value text ) -> boolean
toBooleanOrNull ( value "any" ) -> boolean | 값이 나타내는 불리언을 반환하거나 null을 반환합니다. [`toBoolean`](#type-conversion-toboolean)이 아예 읽을 수 없는 타입에서 오류를 낼 수 있는 자리에서, 이 함수는 null을 반환합니다. | 2.17 이전부터 | | [`toFloat`](#type-conversion-tofloat) | toFloat ( value "any" ) -> double precision | 값이 나타내는 부동소수점 수를 반환하거나 null을 반환합니다. | 2.18에 추가 | | [`toFloatList`](#type-conversion-tofloatlist) | toFloatList ( list jsonb ) -> jsonb
toFloatList ( list anyarray ) -> double precision[] | 리스트의 모든 요소를 부동소수점 수로 변환합니다. | 2.17 이전부터 | | [`toInteger`](#type-conversion-tointeger) | toInteger ( value "any" ) -> bigint | 값이 나타내는 정수를 반환하거나 null을 반환합니다. | 2.18에 추가 | | [`toIntegerList`](#type-conversion-tointegerlist) | toIntegerList ( list jsonb ) -> jsonb
toIntegerList ( list anyarray ) -> bigint[] | 리스트의 모든 요소를 정수로 변환합니다. 어느 오버로드가 적용되는지가 반환 타입을 결정하며, [`toFloatList`](#type-conversion-tofloatlist)와 정확히 같습니다. Cypher 리스트는 `jsonb`를, PostgreSQL 배열은 `bigint[]`를 줍니다. | 2.17 이전부터 | | [`toLower`](#string-tolower) | toLower ( string jsonb ) -> jsonb | 문자열을 소문자로 반환합니다. | 2.17 이전부터 | | [`toString`](#type-conversion-tostring) | toString ( value jsonb ) -> jsonb | 값의 문자열 형태를 반환합니다. | 2.17 이전부터 | | [`toStringList`](#type-conversion-tostringlist) | toStringList ( list jsonb ) -> jsonb
toStringList ( list anyarray ) -> text[] | 리스트의 모든 요소를 문자열로 변환합니다. 어느 오버로드가 적용되는지가 반환 타입을 결정하며, [`toFloatList`](#type-conversion-tofloatlist)와 같습니다. Cypher 리스트는 `jsonb`를, PostgreSQL 배열은 `text[]`를 줍니다. | 2.17 이전부터 | | [`toStringOrNull`](#type-conversion-tostringornull) | toStringOrNull ( value "any" ) -> text | 값의 문자열 형태를 반환하고, 그 값에 문자열 형태가 없으면 null을 반환합니다. | 2.17 이전부터 | | [`toUpper`](#string-toupper) | toUpper ( string jsonb ) -> jsonb | 문자열을 대문자로 반환합니다. 실제 예제는 [`toLower`](#string-tolower)를 참고하십시오. | 2.17 이전부터 | | [`trim`](#string-trim) | trim ( string jsonb ) -> jsonb | 문자열 양쪽 끝의 공백을 제거합니다. | 2.17 이전부터 | | [`type`](#scalar-type) | type ( e edge ) -> jsonb | 간선의 레이블 이름을 `jsonb` 문자열로 반환합니다. `label(e)`와 같은 값이며, Cypher가 관계 타입에 쓰는 이름으로 부른 것입니다. | 2.17 이전부터 | | [`unnest`](#list-unnest) | unnest ( from_json jsonb ) -> setof jsonb | 리스트를 요소마다 한 행으로 펼칩니다. | 2.18에 추가 | | [`upper`](#string-upper) | upper ( string text ) -> text | 문자열을 대문자로 반환합니다. PostgreSQL 자신의 함수입니다. [`lower`](#string-lower)를 참고하십시오. | 2.17 이전부터 | | [`vertex_to_jsonb`](#jsonb-vertex_to_jsonb) | vertex_to_jsonb ( v vertex ) -> jsonb | 정점의 `properties`를 반환합니다. 형 변환 `v::jsonb`가 쓰는 함수가 이것이고, [`properties(v)`](#scalar-properties)와 같은 값을 반환합니다. | 2.17 이전부터 | | [`vertices`](#path-vertices) | vertices ( p graphpath ) -> vertex[] | 경로의 정점을 순서대로 반환합니다. [`nodes`](#path-nodes)와 동일합니다. | 2.17 이전부터 | `collect`는 2.18보다 오래됐지만, 네이티브 배열 결과는 이번 릴리스에서 왔습니다. `jsonb` 대신 `vertex[]`·`edge[]`·`graphpath[]`입니다. `all`·`any`·`none`·`single` 뒤의 삼치 논리 구현도 그렇습니다. 변경 목록 전체는 [2.18 릴리스 노트](../../release_notes/2.18.md)에 있습니다. {#all-functions-functions-documented-elsewhere} ## 다른 곳에 문서화된 함수 `meta` 스키마는 SQL에서 그래프·레이블과 그 크기를 살펴보는 함수를 더해 줍니다. `meta.labels()`, `meta.count()`, `meta.label_size()` 등입니다. 핵심 카탈로그의 일부가 아니라 확장이므로, 설치한 데이터베이스에만 있습니다. 그 함수들은 자기 페이지인 [그래프 메타데이터](../../system_catalogs/graph-metadata.md)에 문서화돼 있고 여기서 반복하지 않습니다. PostgreSQL 자신이 제공하는 모든 함수도 Cypher 쿼리에서 닿을 수 있으며, 여기 각 페이지에 설명된 타입 규칙을 따릅니다. 그것들에 대한 레퍼런스는 [PostgreSQL 문서](https://www.postgresql.org/docs/18/functions.html)입니다. {#all-functions-what-this-reference-leaves-out} ## 이 레퍼런스가 빼놓은 것 AgensGraph가 더한 함수들은 객체 식별자 7000번대부터 8100번대까지를 차지합니다. 그것들이 모두 호출하도록 만들어진 것은 아닙니다. 그 범위에는 타입 입력·출력 함수, B-tree와 GIN 연산자 클래스를 위한 비교·해시 지원 함수, 집계의 전이·최종 함수도 있습니다. 플래너 지원 함수 하나, `pg_upgrade` 도우미 둘, 그리고 경로 탐색 실행기가 해석하는 자리표 항목 넷도 있습니다. 이 레퍼런스는 쿼리가 쓸 수 있는 것을 문서화하고 그것들은 빼놓습니다. {#all-functions-list-what-your-own-build-exposes} ## 자기 빌드가 무엇을 노출하는지 나열하기 어떤 서버가 무엇을 갖고 있는지에 대한 권위는 카탈로그입니다. 아래는 그 범위의 모든 AgensGraph 함수를 집계 함수까지 포함해 나열합니다: ```sql SELECT p.proname AS function, pg_catalog.pg_get_function_identity_arguments(p.oid) AS arguments, pg_catalog.format_type(p.prorettype, NULL) AS returns, CASE p.prokind WHEN 'a' THEN 'aggregate' ELSE 'function' END AS kind, obj_description(p.oid, 'pg_proc') AS description FROM pg_catalog.pg_proc p WHERE p.oid BETWEEN 7000 AND 8100 ORDER BY p.proname, p.oid; ``` 이 2.18 서버에서는 195행이 나옵니다. 위에 나열한 지원 항목들 때문에 이 레퍼런스가 문서화하는 것보다 많습니다. 세기만 하려면 이렇게 하십시오: ```sql SELECT count(*) FROM pg_catalog.pg_proc WHERE oid BETWEEN 7000 AND 8100; ``` ``` count ------- 195 ``` AgensGraph가 더하지 않은 이름의 함수는 나타나지 않습니다. 그것은 PostgreSQL의 것이기 때문입니다. `avg`, `min`, `left`, `log10`이 그런 것들입니다. 그중 하나를 찾으려면 `WHERE` 절을 빼고 이름으로 걸러 내십시오. {#all-functions-see-also} ## 관련 항목 - [집계 함수](aggregate.md) — `avg`, `collect`, `count`, `min`, `max`, `sum` - [조건 함수](predicate.md) — `all`, `any`, `none`, `single`, `exists`, `isEmpty` - [스칼라 함수](scalar.md) — `id`, `label`, `properties`, `size`, `length` - [리스트 함수](list.md) — `head`, `keys`, `range`, `tail`, `unnest` - [문자열 함수](string.md) — `substring`, `split`, `toLower`, `trim` - [수치 함수](numeric.md) — `abs`, `round`, `log`, 삼각 함수 계열 - [경로 함수](path.md) — `nodes`, `relationships`, `shortestpath`, `dijkstra` - [타입 변환 함수](type-conversion.md) — `to…` 계열 - [jsonb 연산자와 함수](jsonb.md) — 모든 속성 아래에 있는 연산자들 - [그래프 메타데이터](../../system_catalogs/graph-metadata.md) — `meta.*` 스키마