ISO/IEC 9075-14 (SQL/스포츠 토토 결과)의 스포츠 토토 결과 관련 사양에 대한 중요한 개정이 SQL : 2006에서 도입되었습니다.PostgreSQL의 스포츠 토토 결과 데이터 유형 및 관련 기능의 구현은 2003 년 초반에 크게 따른다. 특히:
현재 표준이 스포츠 토토 결과 데이터 유형의 제품군을 제공하는 곳“문서”또는“컨텐츠”유형 또는 스포츠 토토 결과 스키마 유형 변형 및 유형스포츠 토토 결과 (시퀀스)
임의의 스포츠 토토 결과 컨텐츠를 보유하려면PostgreSQL단일 제공스포츠 토토 결과
유형, 잡을 수있는 유형“문서”또는“컨텐츠”. 표준과 동등한 것은 없습니다“시퀀스”타입.
PostgreSQLSQL : 2006에서 도입 된 두 가지 기능을 제공하지만 표준에 지정된 스포츠 토토 결과 쿼리 대신 XPATH 1.0 언어를 사용하는 변형으로
이 섹션은 당신이 겪을 수있는 결과 차이 중 일부를 제시합니다.
thePostgreSQL-특이 적 함수xpath ()
andxpath_exists ()
XPATH 언어를 사용하는 스포츠 토토 결과 문서 쿼리.PostgreSQL표준 함수의 XPath 전용 변형을 제공스포츠 토토 결과exists
and스포츠 토토 결과table
10235_10306PostgreSQLlib스포츠 토토 결과2XPATH 1.0 만 제공하는 라이브러리.
XQuery 언어와 XPath 버전 2.0 이상 사이에는 강한 연결이 있습니다. 구문 적으로 유효하고 두 가지 모두에서 성공적으로 실행되는 모든 표현식이 동일한 결과를 생성합니다 (숫자 문자 참조를 포함하는 표현식 또는 사전 정의 된 엔티티 참조를 포함하는 표현식에 대한 사소한 예외는 XQuery가 해당 문자로 대체하는 동안 XPATP는 단독으로 남겨 둡니다). 그러나 이러한 언어와 XPath 1.0 사이에는 그러한 연결이 없습니다.
명심해야 할 두 가지 범주의 한계가 있습니다 : SQL 표준에 지정된 함수에 대한 xQuery에서 XPath로의 제한, 표준과 표준 모두에 대한 XPath의 버전 1.0에 대한 제한이PostgreSQL-특이 적 함수.
xpath를 넘어서 XQuery의 특징은 다음과 같습니다.
XQuery 표현식은 가능한 모든 XPATH 값 외에도 새로운 스포츠 토토 결과 노드를 구성하고 반환 할 수 있습니다. XPath는 원자 유형 (숫자, 문자열 등)의 값을 생성하고 반환 할 수 있지만 표현식에 입력 한 문서에 이미 제공된 스포츠 토토 결과 노드 만 반환 할 수 있습니다..
XQuery는 반복, 정렬 및 그룹화를위한 제어 구성이 있습니다.
XQuery는 로컬 기능의 선언 및 사용을 허용합니다.
최근 XPath 버전은 기능과 겹치는 기능을 제공하기 시작합니다 (예 : 기능 스타일for-each
andsort
, 익명 함수 및parse-스포츠 토토 결과
문자열에서 노드를 생성하려면) 그러나 XPath 3.0 이전에는 이러한 기능을 사용할 수 없었습니다.
XQuery 및 XPath 2.0에 익숙한 개발자의 경우 XPath 1.0은 다음과 같은 여러 차이점을 나타냅니다.
xquery/xpath 표현식의 기본 유형,시퀀스
12858_13049
원하는 순서로 원하는 항목을 포함 할 수있는 XQuery/XPath 시퀀스와 달리 XPath 1.0 노드 세트는 주문이 보장되지 않으며 어떤 세트와 마찬가지로 동일한 항목의 여러 모양을 허용하지 않습니다..
thelib스포츠 토토 결과2라이브러리는 항상 노드 세트를 반환하는 것 같습니다PostgreSQL입력 문서에있는 동일한 상대 순서로 회원과 함께. 문서화는이 동작에 전념하지 않으며 XPath 1.0 표현식은 그것을 제어 할 수 없습니다.
XQuery/XPath는 스포츠 토토 결과 스키마에 정의 된 모든 유형을 제공하고 해당 유형에 대한 많은 연산자와 기능을 제공하지만 XPath 1.0은 노드 세트 만 있으며 세 가지 원자 유형부울
, 더블
및String
.
XPath 1.0에는 조건부 연산자가 없습니다. xquery/xpath 표현식if (모자) 그런 다음 모자/@size else "no hat"
XPath 1.0에 해당하지 않습니다.
XPath 1.0에는 문자열에 대한 주문 비교 연산자가 없습니다. 둘 다"cat"< "dog"
and"cat"> "dog"
각각은 숫자 비교이기 때문에 false입니다.NAN
s. 대조적으로,=
and!=
문자열을 문자열과 비교하십시오.
XPath 1.0 간의 구별이 흐려집니다가치 비교and일반 비교xquery/xpath가 그것들을 정의합니다. 둘 다sale/@hatsize = 7
and판매/@customer = "Alice"
실존 적으로 정량화 된 비교입니다.판매
속성에 주어진 값이 있지만sale/@taxable = false ()
|유효 부울 가치전체 노드 세트. 아니요만이 사실입니다.판매
a과세
전혀 속성.
XQuery/XPath 데이터 모델에서 A문서 노드는 문서 양식 (즉, 댓글 및 처리 지침 만 포함하는 최상위 요소 1 개) 또는 컨텐츠 양식 (해당 제약 조건이 완화 됨)을 가질 수 있습니다. 그것의 XPath 1.0,에 해당합니다.루트 노드는 문서 양식에만있을 수 있습니다. 이것이 이유 중 일부입니다스포츠 토토 결과
값은 컨텍스트 항목으로 전달되었습니다PostgreSQLxpath 기반 함수는 문서 형식이어야합니다.
여기서 강조된 차이점은 모두 그분이 아닙니다. XQuery와 2.0 이상의 XPath 버전에는 XPath 1.0 호환 모드가 있으며 W3C 목록이 있습니다.기능 라이브러리 변경and언어 변경해당 모드에 적용되는 것은 차이점에 대한보다 완전한 (아직 철저하지는 않지만) 설명을 제공합니다. 호환성 모드는 이후 언어를 XPath 1.0과 정확히 동일하게 만들 수 없습니다.
SQL : 2006 이상에서 표준 SQL 데이터 유형과 스포츠 토토 결과 스키마 유형 사이의 양방향 전환 방향이 정확하게 지정됩니다. 그러나 규칙은 XQuery/XPath의 유형과 의미를 사용하여 표현되며 XPath 1.0의 다른 데이터 모델에 직접 응용 프로그램이 없습니다..
언제PostgreSQLSQL 데이터 값을 스포츠 토토 결과에 맵핑합니다 (스포츠 토토 결과element
) 또는 스포츠 토토 결과에서 SQL (의 출력 열에서와 같이스포츠 토토 결과table
), 특별히 처리 된 몇 가지 사례를 제외하고PostgreSQL스포츠 토토 결과 데이터 유형의 XPath 1.0 문자열 양식이 SQL 데이터 유형의 텍스트 입력 양식으로 유효 할 것이라고 가정합니다. 이 규칙은 많은 데이터 유형에 대해 표준에 지정된 매핑과 유사한 결과를 생성하면서 단순성의 미덕을 가지고 있습니다.스포츠 토토 결과table
열 표현식은 부울 또는 이중 값을 생성합니다. 보다섹션 D.3.2.
다른 시스템과의 상호 운용성이 우려되는 경우 일부 데이터 유형의 경우 데이터 유형 형식 형식 기능 (예 :을 사용해야 할 수도 있습니다.PostgreSQL : 문서 : 11 : 9.8. 데이터 유형 사설 토토 사이트 사설 토토 사이트 기능) 표준 매핑을 명시 적으로 생산합니다.
이 섹션은 내재 된 한계와 관련이 있습니다lib스포츠 토토 결과2라이브러리이지만 현재 구현에 적용PostgreSQL.
스포츠 토토 결과table
부울 또는 이중 유형의 열an스포츠 토토 결과table
XPATH 부울에 대한 컬럼 표현식 또는 숫자 결과는 생성됩니다“예기치 않은 XPath 객체 유형”오류. 해결 방법은 XPATH 내부에있는 열 표현식을 다시 작성하는 것입니다String
함수;PostgreSQL그런 다음 문자열 값을 부울 또는 이중 유형의 SQL 출력 열에 성공적으로 할당합니다.
이 릴리스에서 A스포츠 토토 결과table
스포츠 토토 결과 노드 세트로 평가하는 열 표현식 스포츠 토토 결과 유형의 SQL 결과 열에 할당 될 수 있으며, Node 세트의 대부분의 노드의 경우 XPATH 1.0을 포함하는 텍스트 노드String-value21445_21991
사양과 유사하지 않고이 동작에 의존하는 코드를 개발하지 않는 것이 가장 좋습니다.Postgresql 12.
value
통과 메커니즘이 지원됩니다SQL 표준은 2를 정의합니다.전달 메커니즘스포츠 토토 결과 인수를 SQL에서 스포츠 토토 결과 함수로 전달하거나 결과를 수신 할 때 적용됩니다.by ref
, 특정 스포츠 토토 결과 값이 노드 아이덴티티를 유지하고value
20866_21094
차이를 설명하려면 ifx
는 스포츠 토토 결과 값이며, SQL : 2006 환경 의이 두 쿼리는 각각 참과 거짓을 생성합니다..
스포츠 토토 결과QUERY 선택 ( '$ a is $ b'refx
a,x
비어있는 B 널로);x
a,x
비어있는 b null);
이 릴리스에서PostgreSQL수락by ref
in스포츠 토토 결과exists
또는스포츠 토토 결과table
구성하지만 무시할 것입니다. 그만큼스포츠 토토 결과
Data Type은 캐릭터 스트링 직렬화 된 표현을 보유하고 있으므로 보존 할 노드 아이덴티티가 없으며 항상 통과가 효과적입니다value
.
XPath 기반 함수는 XPath 표현식의 컨텍스트 항목으로 사용하기 위해 하나의 매개 변수를 전달하지만 표현식에 명명 된 매개 변수로 사용할 수 있도록 추가 값을 전달하는 것을 지원하지 않습니다..
스포츠 토토 결과 (시퀀스)
타입thePostgreSQL 스포츠 토토 결과
데이터 유형은 값 만 값을 보유 할 수 있습니다Document
또는컨텐츠
양식. xquery/xpath 표현식 컨텍스트 항목은 단일 스포츠 토토 결과 노드 또는 원자 값이어야하지만 XPath 1.0은 스포츠 토토 결과 노드로만 제한되며 NODE 유형이 없습니다컨텐츠
. 상향은 잘 형성된 것입니다Document
PostgreSQLXPath 컨텍스트 항목으로 제공 할 수 있습니다.