표 9.43두 무지개 토토 데이터 유형과 함께 사용할 수있는 연산자를 보여줍니다 (참조PostgreSQL : 문서 : 11 : 8.14. 윈 토토 유형).
표 9.43. 무지개 토토
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. 참조 참조PostgreSQL : 문서 : 11 : 9.20. 윈 토토 기능집계 함수의 경우무지개 토토_AGG
값을 무지개 토토, 집계 함수로 기록하는 집계무지개 토토_object_agg
어떤 값을 무지개 토토 객체에 집계하고무지개 토토B
등가,무지개 토토B_AGG
and무지개 토토b_object_agg
.
일부 추가 연산자도에만 존재합니다무지개 토토B
,표 9.44. 이러한 연산자 중 다수는에 의해 색인을 색인화 할 수 있습니다.무지개 토토B
운영자 클래스. 에 대한 전체 설명무지개 토토B
격리 및 존재 의미, 참조섹션 8.14.3. 섹션 8.14.4이러한 연산자가 효과적으로 색인을 사용하는 방법을 설명합니다무지개 토토B
데이터.
표 9.44. 추가의무지개 토토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 새로운 값무지개 토토B value |
'[ "A", "B"]':: 무지개 토토B || '[ "C", "D"]' ':: 무지개 토토B |
- |
텍스트 |
키/값 쌍 삭제 또는String왼쪽 피연산자의 요소. 키/값 쌍은 키 값에 따라 일치합니다. | ' "a": "b"':: 무지개 토토B- 'a' |
- |
텍스트 [] |
다중 키/값 쌍을 삭제하거나String왼쪽 피연산자의 요소. 키/값 쌍은 키 값에 따라 일치합니다. | ' "a": "b", "c": "d"':: 무지개 토토b- 'a, c':: text [] |
- |
Integer |
지정된 인덱스로 배열 요소를 삭제합니다 (끝에서 음의 정수 수). 최상위 컨테이너가 배열이 아닌 경우 오류를 던집니다. | '[ "A", "B"]':: 무지개 토토B -1 |
#- |
텍스트 [] |
지정된 경로로 필드 또는 요소를 삭제합니다 (무지개 토토 어레이의 경우 끝까지 음수 정수 수) | '[ "a", "b": 1]':: jsonb #- '1, b' |
the||
연산자는 키의 결합을 포함하는 객체를 생성하여 두 개의 무지개 토토 객체를 연결하여 중복 키가있을 때 두 번째 객체의 값을 취합니다. 다른 모든 경우는 무지개 토토 어레이를 생성합니다. 첫째, 비 어레이 입력이 단일 요소 배열로 변환 된 다음 두 배열이 연결됩니다. 그것은 재귀 적으로 작동하지 않습니다. 최상위 배열 또는 객체 구조 만 병합됩니다.
표 9.45생성 할 수있는 기능을 보여줍니다무지개 토토
and무지개 토토B
값. (에 대한 동등한 함수는 없습니다무지개 토토B
,row_to_무지개 토토
andarray_to_무지개 토토
기능. 그러나TO_무지개 토토B
함수는 이러한 함수와 거의 동일한 기능을 제공합니다.)
표 9.45. 무지개 토토 제작 기능
기능 | 설명 | example | 예제 결과 |
---|---|---|---|
|
값을 다시 반환합니다무지개 토토 또는무지개 토토B . 배열 및 복합재는 어레이 및 객체로 (재귀 적으로) 변환됩니다. 그렇지 않으면 유형에서로 캐스트가있는 경우무지개 토토 , 캐스트 함수는 변환을 수행하는 데 사용됩니다. 그렇지 않으면 스칼라 값이 생성됩니다. 숫자, 부울 또는 널 값 이외의 스칼라 유형의 경우 텍스트 표현이 유효한 방식으로 사용됩니다무지개 토토 또는무지개 토토B value. |
TO_무지개 토토 ( '프레드는 "안녕하세요."':: Text) |
"프레드가 \"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 (1,2, '3', 4,5) |
[1, 2, "3", 4, 5] |
|
Variadic 인수 목록에서 무지개 토토 객체를 빌드합니다. 컨벤션별로, 인수 목록은 교대 키와 값으로 구성됩니다. | 무지개 토토_build_object ( 'foo', 1, 'bar', 2) |
"foo": 1, "bar": 2 |
|
텍스트 배열에서 무지개 토토 객체를 빌드합니다. 배열에는 짝수의 멤버가있는 정확한 1 차원이 있어야하며,이 경우 각각의 내부 배열이 정확히 두 개의 요소를 갖도록 키/값 쌍으로 간주되도록 두 차원으로 간주됩니다.. |
|
"a": "1", "b": "def", "c": "3.5" |
|
이 형태의무지개 토토_object 두 개의 별도 배열에서 키와 값을 쌍으로 가져옵니다. 다른 모든 측면에서 그것은 하나의 변호 형식과 동일합니다. |
무지개 토토_object ( 'a, b', '1,2') |
"A": "1", "B": "2" |
array_to_무지개 토토
androw_to_무지개 토토
|to_무지개 토토
꽤 인쇄 옵션을 제공하지 않는 경우를 제외하고. 설명 된 행동to_무지개 토토
마찬가지로 다른 무지개 토토 생성 기능에 의해 변환 된 각 개별 값에 적용됩니다.
thePostgreSQL : 문서 : 11 : F.16. 스포츠 토토 결과Extension은HSTORE
to무지개 토토
HSTORE
무지개 토토 생성 함수를 통해 변환 된 값은 원시 문자열 값이 아닌 무지개 토토 객체로 표시됩니다.
표 9.46처리 할 수있는 기능을 보여줍니다무지개 토토
and무지개 토토B
값.
표 9.46. 무지개 토토 처리 기능
기능 | 반환 유형 | 설명 | example | 예제 결과 |
---|---|---|---|---|
|
int |
가장 바깥 쪽 무지개 토토 어레이의 요소 수를 반환합니다. | 무지개 토토_array_length ( '[1,2,3, "f1": 1, "f2": [5,6], 4]') |
5 |
|
|
가장 바깥 쪽 무지개 토토 객체를 키/값 쌍 세트로 확장합니다. | 무지개 토토_each에서 * 선택 * ( ' "a": "foo", "b": "bar"') |
키 | 값 -----+------- A | "foo" B | "술집" |
|
키 텍스트 설정, 값 텍스트 |
가장 바깥 쪽 무지개 토토 객체를 키/값 쌍 세트로 확장합니다. 반환 된 값은 유형입니다텍스트 . |
무지개 토토_each_text ( ' "a": "foo", "b": "bar"')에서 * 선택 * 선택 * |
키 | 값 -----+------- A | foo B | 술집 |
|
|
path_elems (동등한# 연산자). |
무지개 토토_extract_path ( ' "f2": "f3": 1, "f4": "f5": 99, "f6": "foo"', 'f4') |
"f5": 99, "f6": "foo" |
|
텍스트 |
path_elems as텍스트 (동등한# 연산자). |
json_extract_path_text ( ' "f2": "f3": 1, "f4": "f5": 99, "f6": "foo"', 'f4', 'f6') |
foo |
|
텍스트 설정 |
가장 바깥 쪽 무지개 토토 객체에서 키 세트를 반환합니다. | 무지개 토토_object_keys ( ' "f1": "abc", "f2": "f3": "a", "f4": "b"') |
무지개 토토_object_keys ----------------- F1 F2 |
|
Anylement |
객체를 확장From_무지개 토토 열이 열이 정의 된 레코드 유형과 일치하는 행으로베이스 (아래 참고 참조). |
무지개 토토_populate_record에서 * 선택 * 선택 * 선택 *에서 선택하십시오 |
a | B | 기음 ---+-----------+------------ 1 | 2, "a b" | (4, "A B C") |
|
모든 요소 설정 |
객체의 가장 바깥 쪽 배열을 확장From_무지개 토토 열이 정의 된 레코드 유형과 일치하는 행 세트에베이스 (아래 참고 참조). |
무지개 토토_populate_recordset에서 * 선택 * 선택 (null :: myrowtype, '[ "a": 1, "b": 2, "a": 3, "b": 4] |
a | 비 ---+--- 1 | 2 3 | 4 |
|
|
무지개 토토 배열을 무지개 토토 값 세트로 확장합니다. | 선택 *에서 무지개 토토_ARRAY_ELEMENTS ( '[1, true, [2, false]' ') |
값 ---------- 1 진실 [2, false] |
|
텍스트 설정 |
무지개 토토 배열을 세트로 확장합니다텍스트 값. |
선택 *에서 json_array_elements_text ( '[ "foo", "bar"]') |
값 ---------- foo 술집 |
|
텍스트 |
텍스트 문자열로 가장 바깥 쪽 json 값의 유형을 반환합니다. 가능한 유형은개체 , 배열 , String , 번호 , 부울 및NULL . |
무지개 토토_typeof ( '-123.4') |
번호 |
|
레코드 |
무지개 토토 객체에서 임의의 레코드를 작성합니다 (아래 참고 참조). 모든 기능이 반환되는 것과 마찬가지로레코드 , 발신자는 레코드의 구조를 AN으로 명시 적으로 정의해야합니다as 절. |
json_to_record에서 * 선택 * 선택 *에서 선택 * ' "a": 1, "b": [1,2,3], "c": [1,2,3], "e": "b", "r": "a": 123, "b": "a b c"') myrowtype) |
a | B | C | d | 아르 자형 ---+--------+--------+---+------------- 1 | [1,2,3] | 1,2,3 | | (123, "A B C") |
|
기록 |
무지개 토토 배열로부터 임의의 레코드 세트를 작성합니다 (아래 참고 참조). 모든 기능이 반환되는 것과 마찬가지로레코드 , 발신자는 레코드의 구조를 AN으로 명시 적으로 정의해야합니다as 절. |
json_to_recordset ( '[ "a": 1, "b": "foo", "a": "2", "c": "bar"]'))))) x (a int, b text); |
a | 비 ---+----- 1 | foo 2 | |
|
|
반환From_무지개 토토 null 값이 생략 된 모든 객체 필드가 있습니다. 다른 널 값은 손대지 않았습니다. |
무지개 토토_strip_nulls ( '[ "f1": 1, "f2": null, 2, null, 3]') |
[ "f1": 1, 2, null, 3] |
|
|
반환대상 Path 대체new_value 또는 withnew_value if 추가create_missing true (기본값은true ) 및 지정된 항목PATH 존재하지 않습니다. 경로 지향 연산자와 마찬가지로,에 나타나는 부정적인 정수PATH 무지개 토토 어레이의 끝에서 카운트. |
|
|
|
|
반환대상 withnew_value 삽입. 만약에대상 섹션에 의해 지정된 섹션PATH jsonb 배열에 있습니다.new_value 대상 전 또는 IF 이후에 삽입됩니다insert_after true (기본값은거짓 ). 만약에대상 섹션에 의해 지정된 섹션PATH 무지개 토토b 객체에 있습니다.new_value 대상 존재하지 않습니다. 경로 지향 연산자와 마찬가지로,에 나타나는 부정적인 정수PATH 무지개 토토 어레이의 끝에서 카운트. |
|
|
|
|
반환From_무지개 토토 들여 쓰기 무지개 토토 텍스트 |
무지개 토토b_pretty ( '[ "f1": 1, "f2": null, 2, null, 3]') |
[ "F1": 1, "F2": NULL , 2, 널, 3 ] |
이러한 기능과 연산자 중 다수는 무지개 토토 문자열의 유니 코드 이스케이프를 적절한 단일 문자로 변환합니다. 입력이 유형 인 경우 문제가 아닌 경우무지개 토토B
, 전환이 이미 완료 되었기 때문에; 하지만무지개 토토
입력, 이로 인해 오류가 발생할 수 있습니다.PostgreSQL : 문서 : 11 : 8.14. 윈 토토 유형.
함수무지개 토토 [B] _populate_record
, 무지개 토토 [B] _populate_recordset
, 44625_44644
and무지개 토토 [B] _TO_RECORDSET
무지개 토토 객체 또는 객체 배열에서 작동하고 이름이 출력 행 유형의 열 이름과 일치하는 키와 관련된 값을 추출합니다. 출력 열 이름에 해당하지 않는 객체 필드는 무시되며 객체 필드와 일치하지 않는 출력 열에는 널로 채워집니다. 무지개 토토 값을 SQL 유형의 출력 열로 변환하려면 다음 규칙이 순서대로 적용됩니다.
무지개 토토 NULL 값은 모든 경우에 SQL NULL로 변환됩니다.
출력 열이 유형 인 경우무지개 토토
또는무지개 토토B
, 무지개 토토 값은 정확히 재현됩니다.
출력 열이 복합 (행) 유형이고 무지개 토토 값이 무지개 토토 객체 인 경우 객체의 필드는이 규칙의 재귀 적 응용에 의해 출력 행 유형의 열로 변환됩니다..
마찬가지로 출력 열이 배열 유형이고 무지개 토토 값이 무지개 토토 배열 인 경우 무지개 토토 배열의 요소는이 규칙의 재귀 적 적용에 의해 출력 배열의 요소로 변환됩니다..
그렇지 않으면, 무지개 토토 값이 문자열 리터럴 인 경우 문자열의 내용은 열의 데이터 유형의 입력 변환 함수에 공급됩니다..
그렇지 않으면, 무지개 토토 값의 일반 텍스트 표현은 열의 데이터 유형의 입력 변환 함수에 공급됩니다.
이러한 함수의 예제는 상수를 사용하는 반면, 일반적인 사용은에서 테이블을 참조하는 것입니다.From
절 중 하나를 사용하고 그 중 하나를 사용하십시오무지개 토토
또는무지개 토토B
함수에 대한 인수로서 열. 그런 다음 추출 된 주요 값은 쿼리의 다른 부분에서 참조 할 수 있습니다.어디
조항 및 대상 목록. 이러한 방식으로 여러 값을 추출하면 키 당 연산자와 별도로 추출하는 것보다 성능이 향상 될 수 있습니다.
의 모든 항목PATH
매개 변수무지개 토토B_SET
뿐만 아니라무지개 토토B_INSERT
마지막 항목을 제외하고대상
. 만약에create_missing
거짓입니다.PATH
매개 변수무지개 토토B_SET
있어야합니다. 이러한 조건이 충족되지 않으면대상
변경되지 않은 것으로 반환됩니다.
마지막 경로 항목이 객체 키 인 경우, 새로운 값이 없으면 생성됩니다. 마지막 경로 항목이 배열 인덱스 인 경우 양수 인 경우 설정할 항목은 왼쪽에서 계산하여 찾아서 오른쪽에서 계산하여 음수 인 경우 --1
가장 오른쪽 요소 등을 지정합니다. 항목이 범위를 벗어난 경우 -array_length.
the무지개 토토_TYPEOF
기능NULL
반환 값은 SQL NULL과 혼동해서는 안됩니다. 전화하는 동안무지개 토토_typeof ( 'null':: 무지개 토토)
복귀 할 것입니다NULL
, Calling무지개 토토_typeof (null :: 무지개 토토)
SQL NULL을 반환합니다.
인수의 경우무지개 토토_STRIP_NULLS
모든 객체에 중복 필드 이름이 포함되어 있으므로 결과는 발생하는 순서에 따라 의미 적으로 다소 다를 수 있습니다. 이것은에 대한 문제가 아닙니다.무지개 토토B_STRIP_NULLS
이후무지개 토토B
값은 중복 객체 필드 이름이 없습니다.