지원되는 버전 :current(17)16/15/14/13
개발 버전 :Devel
지원되지 않은 버전 :12/11/10/9.6/9.5/9.4/9.3/9.2/9.1/9.0/8.4/8.3
이 문서는 지원되지 않는 버전의 PostgreSQL을위한 것입니다.
당신은에 대해 같은 페이지를 볼 수 있습니다현재버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

F.16.

이 모듈은를 구현합니다.젠 토토데이터PostgreSQL값. 이것은 될 수 있습니다

F.16.1.젠 토토외부 표현

AN의 텍스트 표현젠 토토, 사용 = value쉼표로 분리 된 쌍. 일부

k = v

쌍의 순서는 중요하지 않습니다 (=표시가 무시됩니다. 두 배의 키=s 또는s. a를 포함합니다

an의 각 키젠 토토고유합니다. 당신이젠 토토중복 키가있는 것젠 토토

선택 'a = 1, a = 2':: 젠 토토;

값 (키가 아님)은 SQL 일 수 있습니다null. 예를 들어:

key = null

thenull키워드는 대소 문자를 사용하지 않습니다.null그것을"null".

참고 :젠 토토텍스트 형식은 입력에 사용될 때 적용필요한 인용 또는젠 토토매개 변수를 통한 리터럴이면 추가 처리가 필요하지 않습니다.Standard_Conforming_strings구성섹션문자열 상수 처리에 대한 자세한 내용.

출력에 따라 이중 인용문은 항상 키와 값을 둘러싸고 있습니다.

F.16.2.젠 토토운영자 및 기능

젠 토토모듈에 표시테이블, 함수표 F-9.

테이블 F-8.젠 토토운영자

운영자 설명 example 결과
젠 토토 - 텍스트 key value get key (NULL그렇지 않은 경우 'a = x, b = y':: 젠 토토- x
젠 토토 - 텍스트 [] 키 값 가져 오기 (NULL그렇지 않은 경우 'a = x, b = y, c = z':: 젠 토토- "z", "x"
젠 토토 || 젠 토토 Concatenate젠 토토S 'a = b, c = d':: 젠 토토 || 'c = x, "a"= "b", "c"= "x",
젠 토토 ? 텍스트 do젠 토토키 포함? 'a = 1':: 젠 토토? '에이' T
젠 토토 ? & 텍스트 [] do젠 토토지정된 모든 것을 포함하십시오 'a = 1, b = 2':: 젠 토토? & t
젠 토토 ? | Text [] do젠 토토지정된 것을 포함합니다 'a = 1, b = 2':: 젠 토토? | t
젠 토토 @ 젠 토토 왼쪽 피연산자가 오른쪽에 포함되어 있습니까? 'a = b, b = 1, c = null':: 젠 토토 t
젠 토토 <@ 젠 토토 왼쪽 피연산자가 오른쪽에 포함되어 있습니까? 'a = c':: 젠 토토 <@ 'a = b, b = 1, f
젠 토토 - 텍스트 왼쪽 피연산자에서 키 삭제 'a = 1, b = 2, c = 3':: 젠 토토- "a"= "1", "c"= "3"
젠 토토 - 텍스트 [] 왼쪽 피연산자에서 키 삭제 'a = 1, b = 2, c = 3':: 젠 토토- "C"= "3"
젠 토토 - 젠 토토 왼쪽 피연산자에서 일치하는 쌍 삭제 'a = 1, b = 2, c = 3':: 젠 토토- "a"= "1", "c"= "3"
레코드 #= 젠 토토 필드 교체레코드일치하는젠 토토 예제 섹션 참조
%% 젠 토토 Convert젠 토토교대 배열 %% 'a = foo, b = bar':: 젠 토토 a, foo, b, bar
%# 젠 토토 Convert젠 토토2 차원까지 %# 'a = foo, b = bar':: 젠 토토 a, foo, b, bar

참고 :PostgreSQL 8.2 이전, 격리 연산자@and<@@and~각각. 이 이름은 여전히 ​​사용할 수 있습니다.

테이블 F-9.젠 토토기능

기능 반환 유형 설명 example 결과
젠 토토 (레코드) 젠 토토 건설젠 토토레코드에서 또는 젠 토토 (ROW (1,2)) f1 = 1, f2 = 2
젠 토토 (text []) 젠 토토 구성젠 토토배열에서 젠 토토 (배열 [ 'a', '1', 'b', '2']) || a = 1, b = 2, c = 3,
젠 토토 (텍스트 [], 텍스트 []) 젠 토토 구성젠 토토별도의 키에서 젠 토토 (배열 [ 'a', 'b'], "a"= "1", "b"= "2"
젠 토토 (텍스트, 텍스트) 젠 토토 단일 항목 만들기젠 토토 젠 토토 ( 'a', 'b') "a"= "b"
akeys (젠 토토) 텍스트 [] get젠 토토의 열쇠는 배열로 akeys ( 'a = 1, b = 2') a, b
Skeys (젠 토토) 텍스트 설정 get젠 토토의 키는 세트로 Skeys ( 'a = 1, b = 2')
a
avals (젠 토토) 텍스트 [] get젠 토토의 값으로 배열 avals ( 'a = 1, b = 2') 1,2
Svals (젠 토토) 텍스트 설정 get젠 토토의 값 세트 svals ( 'a = 1, b = 2')
1
2
젠 토토_to_array (젠 토토) 텍스트 [] get젠 토토의 키와 값은 배열로서 젠 토토_to_array ( 'a = 1, b = 2') a, 1, b, 2
젠 토토_to_matrix (젠 토토) 텍스트 [] get젠 토토의 키와 값은 a 젠 토토_to_matrix ( 'a = 1, b = 2') a, 1, b, 2
젠 토토_to_json (젠 토토) JSON get젠 토토asJSONvalue 젠 토토_to_json ( ' "키"= 1, b = t, "키": "1", "b": "t", "c": null, "d":
젠 토토_to_json_loose (젠 토토) JSON get젠 토토asJSON값이지만 수치를 구별하려고 시도합니다 젠 토토_to_json_loose ( ' "키"= 1, "키": 1, "B": true, "c": null, "d":
슬라이스 (젠 토토, TEXT []) 젠 토토 an의 하위 집합 추출2foo |0_2foo |8 슬라이스 ( 'a = 1, b = 2, c = 3':: 젠 토토, "b"= "2", "c"= "3"
각 (젠 토토) setof (키 텍스트, 값 텍스트) get젠 토토의 키와 값은 a 선택 *에서
키 | 값
존재 (젠 토토, text) 부울 do젠 토토키 포함? 존재 ( 'a = 1', 'a') T
정의 (젠 토토, text) 부울 do젠 토토포함하지 않음NULL키에 대한 가치? 정의 ( 'a = null', 'a') f
삭제 (젠 토토, text) 젠 토토 일치 키와 쌍 삭제 삭제 ( 'a = 1, b = 2', 'b') "a"= "1"
삭제 (젠 토토, text []) 젠 토토 일치하는 키와 쌍 삭제 삭제 ( 'a = 1, b = 2, c = 3', 배열 [ 'a', 'b'] "C"= "3"
삭제 (젠 토토, 젠 토토) 젠 토토 두 번째 인수의 쌍과 일치하는 쌍 삭제 delete ( 'a = 1, b = 2', 'a = 4, b = 2':: 젠 토토) "A"= "1"
popule_record (record, 젠 토토) 레코드 필드 교체레코드일치하는젠 토토 예제 섹션 참조

참고 :함수젠 토토_to_json젠 토토값은JSON.

참고 :함수popule_record실제로Anylement, 아님레코드,

F.16.3.

젠 토토GIST 및 GIN INDEX 지원이 있습니다@,?,? &and? |연산자. 예를 들어:

GIST (h)를 사용하여 Test젠 토토에서 인덱스 HIDX 생성;

젠 토토지원btree24555_2ZZZ |1HASH=운영자. 이것은 허용젠 토토선언 될 열고유 한또는그룹,주문 by또는별도의표현. 정렬 주문젠 토토값은 특별히 유용하지 않지만=다음과 같이 비교 :

btree (h)를 사용하여 test젠 토토에서 인덱스 HIDX 생성;

F.16.4.

키를 추가하거나 새로운 값으로 기존 키를 업데이트하십시오.

업데이트 탭 세트 H = H || 젠 토토 ( 'c', '3');

키 삭제 :

업데이트 탭 세트 H = 삭제 (h, 'k1');

변환레코드to an젠 토토:

테이블 테스트 생성 (Col1 Integer, Col2 Text, Col3 Text);

변환젠 토토사전 정의 된레코드유형 :

테이블 테스트 생성 (COL1 Integer, Col2 Text, Col3 Text);

an을 사용하여 기존 레코드를 수정합니다젠 토토:

테이블 테스트 생성 (Col1 Integer, Col2 Text, Col3 Text);

F.16.5.

the젠 토토내재성 때문에 타입

간단한 예 :

선택 * 각각에서 ( 'aaa = bq, b = null, ""= 1');

테이블 사용 :

select (각 (h)). 키, (각 (h)). test젠 토토에서 stat 로의 값;.

온883 통계 :

Key, Count (*)를 선택하십시오

F.16.6.

203tgresql 9.0,.젠 토토a

이진 업그레이드의 경우 상향 호환성은 다음과 같습니다.업데이트다음과 같이 진술 :

업데이트 태블니 이름 세트 젠 토토col = 젠 토토col || '';

그렇게하는 또 다른 방법은 다음과 같습니다.

젠 토토col을 사용한 젠 토토col 유형 젠 토토 || '';

theAlter Table메소드가 필요합니다

F.16.7.

Oleg Bartunov, 모스크바,

Teodor Sigaev, 모스크바,

Andrew Gierth의 추가 향상,