이 문서는 지원되지 않는 버전의 PostgreSQL 용입니다.
당신은에 대해 같은 페이지를 볼 수 있습니다3_스포츠 토토 사이트 결과3버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

9.15. 토토 사이트 기능 및 운영자

표 9-40두 토토 사이트 데이터 유형과 함께 사용할 수있는 연산자를 보여줍니다 (참조PostgreSQL : 문서 : 9.5 : 무지개 토토 유형).

표 9-40.토토 사이트and토토 사이트B운영자

운영자 오른쪽 피연산자 유형 설명 example 예제 결과
- int 토토 사이트 배열 요소 가져 오기 (0에서 색인화, 끝에서 음수 정수 수) '[ "a": "foo", "b": "bar", "c": "baz"]':: 토토 사이트- 2 "c": "baz"
- 텍스트 key에 의해 토토 사이트 개체 필드 가져 오기 ' "a": "b": "foo"':: 토토 사이트- 'a' "b": "foo"
- int 토토 사이트 배열 요소를 가져옵니다텍스트 '[1,2,3]':: 토토 사이트- 2 3
- 텍스트 토토 사이트 객체 필드를 가져옵니다.텍스트 ' "a": 1, "b": 2':: 토토 사이트- 'b' 2
# 텍스트 [] 지정된 경로에서 토토 사이트 개체 가져 오기 ' "a": "b": "c": "foo"':: 토토 사이트# 'a, b' "c": "foo"
# 텍스트 [] 지정된 경로에서 토토 사이트 오브젝트를 가져옵니다텍스트 ' "a": [1,2,3], "b": [4,5,6]':: 토토 사이트# 'a, 2' 3

참고 :이 연산자의 평행 변형은 두 가지 모두토토 사이트and토토 사이트B유형. 필드/요소/경로 추출 연산자는 왼쪽 입력과 동일한 유형을 반환합니다 (하나토토 사이트또는토토 사이트B), 반환으로 지정된 것을 제외하고.텍스트, 값을 텍스트로 강요합니다. 토토 사이트 입력에 요청과 일치 할 올바른 구조가없는 경우 필드/요소/경로 추출 연산자는 실패하지 않고 NULL을 반환합니다. 예를 들어 그러한 요소가 존재하지 않는 경우. 정수 토토 사이트 배열 위트 스크립트를 허용하는 필드/요소/경로 추출 연산자는 모두 배열 끝에서 음수 첨자를 지원합니다.

표준 비교 연산자표 9-1토토 사이트B그러나토토 사이트. 그들은 다음에 요약 된 B-tree 운영에 대한 주문 규칙을 따릅니다섹션 8.14.4.

일부 추가 연산자도에만 존재합니다토토 사이트B,표 9-41. 이러한 연산자 중 다수는에 의해 색인을 색인화 할 수 있습니다.토토 사이트B운영자 클래스. 에 대한 전체 설명토토 사이트B격리 및 존재 의미, 참조섹션 8.14.3. 섹션 8.14.4이러한 연산자가 효과적으로 색인을 사용하는 방법을 설명합니다토토 사이트B데이터.

표 9-41. 추가의토토 사이트B운영자

운영자 오른쪽 피연산자 유형 설명 example
@ 토토 사이트B 왼쪽 토토 사이트 값에는 최상위 수준의 오른쪽 토토 사이트 경로/값 항목이 포함되어 있습니까? ' "a": 1, "b": 2':: 토토 사이트b @ ' "b": 2':: 토토 사이트b
<@ 토토 사이트B 왼쪽 토토 사이트 경로/값 항목은 오른쪽 토토 사이트 값 내에서 최상위 레벨에 포함되어 있습니까? ' "b": 2':: jsonb <@ ' "a": 1, "b": 2':: jsonb
? 텍스트 String토토 사이트 값 내에서 최상위 키로 존재합니까? ' "a": 1, "b": 2':: 토토 사이트b? '비'
? | 텍스트 [] 이 배열을 수행문자열최상위 키로 존재합니까? ' "a": 1, "b": "2,"c ": 3':: jsonb? | | 배열 [ 'b', 'c']
? & 텍스트 [] 이 모든 배열을 수행문자열최상위 키로 존재합니까? '[ "a", "b"]':: jsonb? & array [ 'a', 'b']
|| 토토 사이트B 두 가지토토 사이트B새로운 값토토 사이트Bvalue '[ "A", "B"]':: 토토 사이트B || '[ "C", "D"]' ':: 토토 사이트B
- 텍스트 키/값 쌍 삭제 또는String왼쪽 피연산자의 요소. 키/값 쌍은 키 값에 따라 일치합니다. ' "a": "b"':: 토토 사이트B- 'a'
- Integer 지정된 인덱스로 배열 요소를 삭제합니다 (끝에서 음수 정수 수). 최상위 컨테이너가 배열이 아닌 경우 오류를 던집니다. '[ "A", "B"]':: 토토 사이트B -1
#- Text [] 지정된 경로로 필드 또는 요소를 삭제합니다 (토토 사이트 어레이의 경우 끝까지 음수 정수 수) '[ "a", "b": 1]':: jsonb #- '1, b'

참고 :the||연산자는 키의 결합을 포함하는 객체를 생성하여 두 개의 토토 사이트 객체를 연결하여 중복 키가있을 때 두 번째 객체의 값을 취합니다. 다른 모든 경우는 토토 사이트 어레이를 생성합니다. 첫째, 비 어레이 입력이 단일 요소 배열로 변환 된 다음 두 배열이 연결됩니다. 그것은 재귀 적으로 작동하지 않습니다. 최상위 배열 또는 객체 구조 만 병합됩니다.

표 9-42작성에 사용할 수있는 기능을 표시토토 사이트and토토 사이트B값. (에 대한 동등한 함수는 없습니다토토 사이트B,row_to_토토 사이트andarray_to_토토 사이트함수. 그러나TO_토토 사이트B함수는 이러한 함수와 거의 동일한 기능을 제공합니다.)

표 9-42. 토토 사이트 제작 기능

기능 설명 example 예제 결과

TO_토토 사이트 (Anylement)

TO_토토 사이트B (Anylement)

값을 다시 반환합니다토토 사이트또는토토 사이트B. 배열 및 복합재는 어레이 및 객체로 (재귀 적으로) 변환됩니다. 그렇지 않으면 유형에서로 캐스트가있는 경우토토 사이트, 캐스트 함수는 변환을 수행하는 데 사용됩니다. 그렇지 않으면 스칼라 값이 생성됩니다. 숫자, 부울 또는 널 값 이외의 스칼라 유형의 경우 텍스트 표현이 유효한 방식으로 사용됩니다토토 사이트또는토토 사이트Bvalue. TO_토토 사이트 ( '프레드는 "안녕."':: 텍스트) "프레드는 \"hi. \ "" 말했다.
array_to_토토 사이트 (anyArray [, pretty_bool]) 배열을 토토 사이트 배열로 반환합니다. PostgreSQL 다차원 배열은 토토 사이트 배열 배열이됩니다. 라인 피드는 Dimension-1 요소간에 추가됩니다.pretty_bool진실입니다. array_to_토토 사이트 ( '1,5, 99,100':: int []) [[1,5], [99,100]]
row_to_토토 사이트 (레코드 [, pretty_bool]) 행을 토토 사이트 객체로 반환합니다. 라인 피드는 레벨 1 요소간에 추가됩니다.pretty_bool진실입니다. row_to_토토 사이트 (Row (1, 'foo')) "f1": 1, "f2": "foo"

토토 사이트_build_array (variadic "any")

토토 사이트B_BUILD_ARRAY (variadic "any")

다양한 인수 목록에서 아마도 이질적인 토토 사이트 배열을 구축합니다. 토토 사이트_BUILD_ARRAY (1,2, '3', 4,5) [1, 2, "3", 4, 5]

토토 사이트_build_object (variadic "any")

토토 사이트b_build_object (variadic "any")

Variadic 인수 목록에서 토토 사이트 객체를 빌드합니다. 컨벤션별로, 인수 목록은 교대 키와 값으로 구성됩니다. 토토 사이트_build_object ( 'foo', 1, 'bar', 2) "foo": 1, "bar": 2

토토 사이트_object (text [])

토토 사이트b_object (text [])

텍스트 배열에서 토토 사이트 객체를 빌드합니다. 배열에는 짝수의 멤버가있는 정확한 1 차원이 있어야하며,이 경우 각각의 내부 배열이 정확히 두 개의 요소를 갖도록 키/값 쌍으로 간주되도록 두 차원으로 간주됩니다..

토토 사이트_object ( 'a, 1, b, "def", c, 3.5')

토토 사이트_object ( 'a, 1, b, "def", c, 3.5')

"a": "1", "b": "def", "c": "3.5"

토토 사이트_object (keys text [], 값 text [])

토토 사이트b_object (keys text [], 값 text [])

이 형태의토토 사이트_object두 개의 개별 배열에서 키와 값을 쌍으로 가져옵니다. 다른 모든 측면에서 그것은 하나의 변호 형식과 동일합니다. 토토 사이트_object ( 'a, b', '1,2') "A": "1", "B": "2"

참고 : array_to_토토 사이트androw_to_토토 사이트to_토토 사이트꽤 인쇄 옵션을 제공하지 않는 경우. 설명 된 행동to_토토 사이트마찬가지로 다른 토토 사이트 생성 기능에 의해 변환 된 각 개별 값에 적용됩니다.

참고 :thePostgreSQL : 문서 : 9.5 : 토토 사이트 순위Extension은에서 캐스트되었습니다.hstoreto토토 사이트hstore토토 사이트 생성 함수를 통해 변환 된 값은 원시 문자열 값이 아닌 토토 사이트 객체로 표시됩니다.

표 9-43처리 할 수있는 기능을 표시토토 사이트토토 사이트B값.

표 9-43. 토토 사이트 처리 기능

기능 반환 유형 설명 example 예제 결과

토토 사이트_array_length (토토 사이트)

토토 사이트b_array_length (토토 사이트b)

int 가장 바깥 쪽 토토 사이트 어레이의 요소 수를 반환합니다. 토토 사이트_array_length ( '[1,2,3, "f1": 1, "f2": [5,6], 4]') 5

토토 사이트_each (토토 사이트)

토토 사이트B_EACH (토토 사이트B)

키 텍스트 설정, 값 토토 사이트

키 텍스트 설정, 값 토토 사이트B

가장 바깥 쪽 토토 사이트 객체를 키/값 쌍 세트로 확장합니다. 토토 사이트_each에서 * 선택 * ( ' "a": "foo", "b": "bar"')
키 | 값
-----+-------
 A | "foo"
 B | "술집"

토토 사이트_each_text (토토 사이트)

토토 사이트B_ECH_TEXT (토토 사이트B)

키 텍스트 설정, 값 텍스트 가장 바깥 쪽 토토 사이트 객체를 키/값 쌍 세트로 확장합니다. 반환 된 값은 유형입니다텍스트. 토토 사이트_each_text ( ' "a": "foo", "b": "bar"')에서 선택 * 선택 *
키 | 값
-----+-------
 A | foo
 B | 술집

토토 사이트_extract_path (from_토토 사이트 토토 사이트, variadic path_elems text [])

토토 사이트b_extract_path (from_토토 사이트 토토 사이트b, variadic path_elems text [])

토토 사이트

토토 사이트B

토토 사이트 값을 반환합니다.path_elems(동등한#운영자). 토토 사이트_extract_path ( ' "f2": "f3": 1, "f4": "f5": 99, "f6": "foo"', 'f4') "f5": 99, "f6": "foo"

json_extract_path_text (from_토토 사이트 json, variadic path_elems text [])

jsonb_extract_path_text (from_토토 사이트 jsonb, variadic path_elems text [])

텍스트 path_elemsas텍스트(동등한#연산자). json_extract_path_text ( ' "f2": "f3": 1, "f4": "f5": 99, "f6": "foo"', 'f4', 'f6') foo

토토 사이트_object_keys (json)

토토 사이트b_object_keys (토토 사이트b)

텍스트 설정 가장 바깥 쪽 토토 사이트 객체의 키 세트를 반환합니다. 토토 사이트_object_keys ( ' "f1": "abc", "f2": "f3": "a", "f4": "b"')
토토 사이트_object_keys
-----------------
 F1
 F2

토토 사이트_POPULE_RECORD (BASE AYLEMENT, FROM_토토 사이트 토토 사이트)

토토 사이트B_POPULE_RECORD (BASE AYLENMENT, FROM_토토 사이트 토토 사이트B)

Anylement 객체를 확장from_토토 사이트열이 열이 정의 된 레코드 유형과 일치하는 행으로Base(아래 참고 참조). 선택 *에서 토토 사이트_POPULE_RECORD에서 * 선택 *에서 선택하십시오
a | 비
---+---
 1 | 2

토토 사이트_POPULE_RECORDSET (BASE AYLENMENT, FROM_토토 사이트 토토 사이트)

토토 사이트B_POPULE_RECORDSET (BASE AYLENMENT, FROM_토토 사이트 토토 사이트B)

모든 요소 설정 객체의 가장 바깥 쪽 배열을 확장합니다from_토토 사이트열이 정의 된 레코드 유형과 일치하는 행 세트에base(아래 참고 참조). 토토 사이트_populate_recordset에서 * 선택 * 선택 (null :: myrowtype, '[ "a": ":"b ": 2, "a ": 3,"b ": 4]
a | 비
---+---
 1 | 2
 3 | 4

토토 사이트_array_elements (토토 사이트)

토토 사이트B_ARRAY_ELEMENTS (토토 사이트B)

토토 사이트 SETOF 토토 사이트

setof jsonb

토토 사이트 배열을 토토 사이트 값 세트로 확장합니다. 선택 *에서 토토 사이트_array_elements ( '[1, true, [2, false]')
값
----------
 1
 진실
 [2, false]

토토 사이트_array_elements_text (토토 사이트)

토토 사이트B_ARRAY_ELEMENTS_TEXT (토토 사이트B)

텍스트 설정 토토 사이트 배열을 세트로 확장합니다텍스트값. 선택 *에서 json_array_elements_text ( '[ "foo", "bar"]')
값
----------
 foo
 술집

토토 사이트_TYPEOF (토토 사이트)

토토 사이트B_TYPEOF (토토 사이트B)

텍스트 가장 바깥 쪽 json 값의 유형을 텍스트 문자열로 반환합니다. 가능한 유형은개체, 배열, String, 번호, 부울NULL. 토토 사이트_typeof ( '-123.4') 번호

토토 사이트_TO_RECORD (토토 사이트)

토토 사이트B_TO_RECORD (토토 사이트B)

레코드 토토 사이트 객체에서 임의의 레코드를 작성합니다 (아래 참고 참조). 모든 기능이 반환되는 것과 마찬가지로레코드, 발신자는 레코드의 구조를 AN으로 명시 적으로 정의해야합니다as절. json_to_record ( ' "a": 1, "b": [1,2,3], "c")) as x (a int, b text, d text)
a |    B | 디
---+--------+---
 1 | [1,2,3] |

토토 사이트_TO_RECORDSET (토토 사이트)

토토 사이트B_TO_RECORDSET (토토 사이트B)

setof record 토토 사이트 배열로부터 임의의 레코드 세트를 작성합니다 (아래 참고 참조). 모든 기능이 반환되는 것과 마찬가지로레코드, 발신자는 레코드의 구조를 AN으로 명시 적으로 정의해야합니다as조항 json_to_recordset에서 * 선택 * 선택 ( '[ "a": 1, "b": "foo", "a": "2", "c": "bar"]')) as as x (a int, b text);
a |  비
---+-----
 1 | foo
 2 |

토토 사이트_STRIP_NULLS (FROM_토토 사이트 토토 사이트)

토토 사이트B_STRIP_NULLS (FROM_토토 사이트 토토 사이트B)

토토 사이트

토토 사이트B

반환From_토토 사이트null 값이 생략 된 모든 객체 필드가 ​​있습니다. 다른 널 값은 손대지 않았습니다. 토토 사이트_strip_nulls ( '[ "f1": 1, "f2": null, 2, null, 3]') [ "f1": 1, 2, null, 3]

토토 사이트B_SET (Target 토토 사이트B, PATH TEXT [], NEW_VALUE 토토 사이트B [, create_missing boolean])

토토 사이트B

반환대상PATH대체new_value또는 withnew_valueif 추가create_missingtrue (기본값은true) 및 지정된 항목PATH존재하지 않습니다. 경로 지향 연산자와 마찬가지로,에 나타나는 부정적인 정수PATH토토 사이트 어레이의 끝에서 카운트.

토토 사이트B_SET ( '[ "f1": 1, "f2": null, 2, null, 3],'0, f1 ','[2,3,4] ', false)

토토 사이트b_set ( '[ "f1": 1, "f2": null, 2]', '0, f3', '[2,3,4]')

[ "f1": [2,3,4], "f2": null, 2, null, 3]

[ "f1": 1, "f2": null, "f3": [2, 3, 4], 2]

토토 사이트B_PRETTY (FROM_토토 사이트 토토 사이트B)

텍스트

반환from_토토 사이트들여 쓰기 토토 사이트 텍스트. 토토 사이트B_PRETTY ( '[ "f1": 1, "f2": null, 2, null, 3]
[

        "F1": 1,
        "F2": NULL
    ,
    2,
    널,
    3
]

참고 :이러한 기능과 연산자 중 다수는 토토 사이트 문자열의 유니 코드 이스케이프를 적절한 단일 문자로 변환합니다. 입력이 유형 인 경우 문제가 아닌 경우토토 사이트B, 전환이 이미 완료 되었기 때문에; 하지만토토 사이트입력, 이로 인해 언급 된대로 오류가 발생할 수 있습니다.PostgreSQL : 문서 : 9.5 : 무지개 토토 유형.

참고 :함수의 예제토토 사이트_populate_record, 토토 사이트_POPULE_RECORDSET, 토토 사이트_TO_RECORDand토토 사이트_TO_RECORDSET상수를 사용하면 일반적인 사용은에서 테이블을 참조하는 것입니다.From절 중 하나를 사용하고 그 중 하나를 사용하십시오토토 사이트또는토토 사이트B함수에 대한 인수로서 열. 그런 다음 추출 된 주요 값은 쿼리의 다른 부분에서 참조 할 수 있습니다.여기서클로즈 및 대상 목록. 이러한 방식으로 여러 값을 추출하면 키 당 연산자와 별도로 추출하는 것보다 성능이 향상 될 수 있습니다.

토토 사이트 키는 대상 행 유형의 동일한 열 이름과 일치합니다. 이러한 기능에 대한 토토 사이트 유형 강요는입니다."최고의 노력"일부 유형에 대해 원하는 값을 초래하지 않을 수 있습니다. 대상 행 유형에 나타나지 않는 토토 사이트 필드는 출력에서 ​​생략되며 토토 사이트 필드와 일치하지 않는 대상 열은 단순히 Null입니다.

참고 :의 모든 항목PATH매개 변수토토 사이트B_SET대상,create_missing는 사실입니다.이 경우 마지막 항목을 제외한 모든 항목이 있어야합니다. 이러한 조건이 충족되지 않으면대상변경되지 않은 반품.

마지막 경로 항목이 객체 키 인 경우, 새로운 값이 없으면 생성됩니다. 마지막 경로 항목이 배열 인덱스 인 경우 양수 인 경우 설정할 항목은 왼쪽에서 계산하여 찾아서 오른쪽에서 계산하여 음수 인 경우 --1가장 오른쪽 요소 등을 지정합니다. 항목이 범위를 벗어난 경우 -array_length.

참고 :the토토 사이트_TYPEOF기능NULL반환 값은 SQL NULL과 혼동해서는 안됩니다. 전화하는 동안토토 사이트_typeof ( 'null':: 토토 사이트)returnNULL, 전화토토 사이트_typeof (null :: 토토 사이트)SQL NULL을 반환합니다.

참고 :인수가토토 사이트_STRIP_NULLS모든 객체에 중복 필드 이름을 포함하면 결과가 발생하는 순서에 따라 의미 적으로 다소 다를 수 있습니다. 이것은에 대한 문제가 아닙니다.토토 사이트B_STRIP_NULLS이후토토 사이트B값은 중복 객체 필드 이름이 없습니다.

참조PostgreSQL : 문서 : 9.5 : 토토 사이트 함수집계 함수의 경우토토 사이트_AGG값을 토토 사이트으로 기록하고 집계 함수토토 사이트_object_agg토토 사이트 객체에 값의 쌍을 집계하고토토 사이트B등가,토토 사이트B_AGGand토토 사이트B_OBJECT_AGG.