이 문서는 지원되지 않는 버전의 PostgreSQL을위한 것입니다.
당신은에 대해 같은 페이지를 보려고 할 수 있습니다PostgreSQL : 문서 : 17 : 8.13. 스포츠 토토 꽁 머니 유형버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

8.13. 토토 꽁 머니type

the토토 꽁 머니데이터 유형을 사용하여 저장할 수 있습니다 토토 꽁 머니 데이터. 토토 꽁 머니 데이터를 A 저장보다는 이점이 있습니다.텍스트필드는 입력 값을 확인한다는 것입니다 형식성 및 수행 할 지원 기능이 있습니다 그것에 대한 유형-안전한 작업; 보다섹션 9.14. 이 데이터 유형 사용 설치를 구축해야합니다구성-with-lib토토 꽁 머니.

the토토 꽁 머니유형은 잘 형성 될 수 있습니다"문서"9904_9953"Content"프로덕션에 의해 정의되는 파편토토 꽁 머니decl? 콘텐츠토토 꽁 머니 표준에서. 대충, 이것은 콘텐츠 조각이 둘 이상을 가질 수 있음을 의미합니다. 최상위 요소 또는 문자 노드. 표현토토 꽁 머니valueis 문서특정 여부를 평가하는 데 사용할 수 있습니다토토 꽁 머니값은 전체 문서이거나 a 내용 조각.

8.13.1. 토토 꽁 머니 값 만들기

유형 값을 생성하려면토토 꽁 머니문자 데이터, 함수 사용토토 꽁 머니parse:

토토 꽁 머니parse (document | contentvalue)

예 :

토토 꽁 머니PARSE (Document '<? 토토 꽁 머니 버전 = "1.0"? <book <title 매뉴얼 </title <chapter ... </챕터 </book')
토토 꽁 머니PARSE (Content 'ABC <FOO BAR </foo <lar foo </bar')

이것은 문자열을 다음으로 변환하는 유일한 방법입니다. SQL 표준에 따른 토토 꽁 머니 값 PostgreSQL- 특이 적 구문 :

토토 꽁 머니 '<FOO BAR </foo'
'<foo bar </foo':: xml

도 사용할 수 있습니다.

the토토 꽁 머니입력을 유효하게하지 않습니다 문서 유형 선언 (dtd)에 대한 값은 입력 값 DTD를 지정합니다. 현재 아니오도 있습니다 다른 토토 꽁 머니 스키마에 대한 검증을위한 내장 지원 토토 꽁 머니 스키마와 같은 언어

역 작동, 문자열 값을 생성합니다 에서토토 꽁 머니, 함수 사용토토 꽁 머니serialize:

토토 꽁 머니Serialize (document | contentvalueasType)

타입can be캐릭터, 캐릭터 다양한, 또는텍스트(또는 그 중 하나에 대한 별칭). 다시 한 번 SQL 표준에 따르면 이것이 유일한 방법입니다. 유형 간 변환토토 꽁 머니및 캐릭터 유형이지만 postgresql도 값.

문자열 값이 유형으로 또는 유형에서 주조되는 경우토토 꽁 머니12508_12533토토 꽁 머니PARSE또는토토 꽁 머니serialize, 각각 선택의 선택문서versus컨텐츠"토토 꽁 머니 옵션"세션 구성 표준 명령을 사용하여 설정할 수있는 매개 변수 :

SET 토토 꽁 머니 옵션 Document | 콘텐츠 ;

또는 더 많은 PostgreSQL 유사 구문

토토 꽁 머니option을 document |로 설정하십시오 콘텐츠 ;

기본값은컨텐츠토토 꽁 머니 데이터의 형태가 허용됩니다.

참고 :기본 토토 꽁 머니 옵션 설정이 포함되어 있습니다 캐릭터 문자열을 직접 캐스트 할 수 없습니다토토 꽁 머니문서 유형이 포함 된 경우 토토 꽁 머니 컨텐츠 조각의 정의이기 때문에 선언 그들을 받아들이지 않습니다. 그렇게 해야하는 경우 사용토토 꽁 머니PARSE또는 토토 꽁 머니을 변경하십시오 옵션.

8.13.2. 인코딩 처리

여러 캐릭터를 다룰 때는주의를 기울여야합니다 클라이언트, 서버 및 전달 된 토토 꽁 머니 데이터의 인코딩 그들을 통해. 텍스트 모드를 사용하여 쿼리를 전달할 때 클라이언트에 대한 서버 및 쿼리 결과 (정상입니다. 모드), PostgreSQL이 전달되는 모든 문자 데이터를 변환합니다 클라이언트와 서버 및 캐릭터의 반대도 마찬가지입니다. 각각의 끝의 인코딩; 보다섹션 22.2. 여기에는 문자열이 포함됩니다 위의 예에서와 같은 토토 꽁 머니 값의 표현. 이것은 일반적으로 인코딩 선언이 포함되어 있음을 의미합니다 토토 꽁 머니에서 문자 데이터가 클라이언트 사이를 여행하는 동안 다른 인코딩으로 변환되었습니다 및 내장 인코딩 선언은 그렇지 않기 때문에 서버 변경. 이 행동에 대처하고 선언을 인코딩합니다 에 입력을 위해 제시된 특성 문자열에 포함토토 꽁 머니타입은무시및 내용이 가정됩니다 현재 서버 인코딩에 있습니다. 결과적으로, 정확합니다 처리, 토토 꽁 머니 데이터의 문자열 문자열은 현재 클라이언트 인코딩의 클라이언트. 그것은 책임입니다 문서를 현재 클라이언트로 변환 할 클라이언트의 서버로 보내기 전에 인코딩하거나 클라이언트를 적절하게 인코딩합니다. 출력시 유형 값토토 꽁 머니인코딩이 없습니다 선언 및 클라이언트는 모든 데이터가 현재 클라이언트 인코딩.

이진 모드를 사용하여 쿼리 매개 변수를 전달할 때 서버 및 쿼리 결과는 클라이언트로 돌아가고 문자 세트가 없습니다. 변환이 수행되므로 상황이 다릅니다. 이것에서 사례, 토토 꽁 머니 데이터의 인코딩 선언이 관찰됩니다. 그리고 결석하면 데이터는 UTF-8에있는 것으로 가정됩니다. (토토 꽁 머니 표준에 의해 요구되는대로; Postgresql은 UTF-16 지원). 출력시 데이터에는 인코딩이 있습니다 클라이언트가 아닌 한 클라이언트 인코딩을 지정하는 선언 인코딩은 UTF-8이며,이 경우 생략됩니다.

말할 필요가 없습니다. PostgreSQL로 토토 꽁 머니 데이터를 처리합니다. 토토 꽁 머니 데이터를 인코딩하는 경우 오류가 적고 효율적이면 클라이언트 인코딩 및 서버 인코딩은 동일합니다. 토토 꽁 머니 이후 데이터는 내부적으로 UTF-8에서 처리되며 계산이 진행됩니다 서버 인코딩이 UTF-8 인 경우 가장 효율적입니다.

주의

일부 토토 꽁 머니 관련 기능은 전혀 작동하지 않을 수 있습니다 비 ASCII 데이터 서버 인코딩이 UTF-8이 아닐 때. 이것은에 대한 문제로 알려져 있습니다.xpath ()특히.

8.13.3. 토토 꽁 머니 값 액세스

the토토 꽁 머니데이터 유형은 그에 비정상적입니다 비교 연산자를 제공하지 않습니다. 이건 때문입니다 잘 정의되고 보편적으로 유용한 비교는 없습니다 토토 꽁 머니 데이터 알고리즘. 이것의 결과는 당신입니다 비교하여 행을 검색 할 수 없습니다토토 꽁 머니검색 값에 대한 열. 따라서 토토 꽁 머니 값이 있어야합니다 일반적으로 ID와 같은 별도의 키 필드가 동반됩니다. 토토 꽁 머니 값을 비교하기위한 대체 솔루션은 변환하는 것입니다. 먼저 문자열이지만 그 문자열에 주목하십시오. 비교는 유용한 토토 꽁 머니 비교와 거의 관련이 없습니다. 방법.

에 대한 비교 연산자가 없기 때문에토토 꽁 머니데이터 유형, 생성 할 수 없습니다 이 유형의 열에서 직접 색인하십시오. 빠른 검색 인 경우 토토 꽁 머니 데이터가 필요하며 가능한 해결 방법에는 캐스팅이 포함됩니다 문자열 유형에 대한 표현식 및 색인 또는 xpath 표현식을 색인화합니다. 물론 실제 쿼리는 가능합니다 색인 표현식으로 검색하도록 조정해야합니다.

PostgreSQL의 텍스트 검색 기능도 사용할 수 있습니다 토토 꽁 머니 데이터의 전체 문서 검색 속도를 높이기 위해. 필요합니다 그러나 전처리 지원은 아직 사용할 수 없습니다 Postgresql 분포.