Các sửa đổi quan trọng đối với các thông số kỹ thuật liên quan đến kèo bóng đá hom nay trong ISO/IEC 9075-14 (SQL/kèo bóng đá hom nay) đã được giới thiệu với SQL: 2006.POSTGRESQLS Thực hiện kiểu dữ liệu kèo bóng đá hom nay và các chức năng liên quan phần lớn theo phiên bản 2003 trước đó, với một số mượn từ các phiên bản sau. Đặc biệt:
Trong đó tiêu chuẩn hiện tại cung cấp một họ các loại dữ liệu kèo bóng đá hom nay để giữHồitài liệuxônghoặcHồiNội dungHồi9245_9300kèo bóng đá hom nay (chuỗi)
Để giữ các phần nội dung kèo bóng đá hom nay tùy ý,PostgreSQLCung cấp đơnkèo bóng đá hom nay
Loại, có thể giữDocumentxônghoặcHồiNội dung”. Không có tương đương kèo bóng đá hom nay tiêu chuẩnchuỗiHồiloại.
PostgreSQLcung cấp hai hàm được giới thiệu trong SQL: 2006, nhưng trong các biến thể sử dụng ngôn ngữ XPath 1.0, thay vì truy vấn kèo bóng đá hom nay như được chỉ định cho chúng trong tiêu chuẩn.
Phần này trình bày một số khác biệt kết quả mà bạn có thể gặp phải.
ThePostgreSQL-Specific Chức năngxpath ()
và10482_10498
Tài liệu truy vấn kèo bóng đá hom nay bằng ngôn ngữ XPath.PostgreSQLCũng cung cấp kèo bóng đá hom nay biến thể chỉ dành cho XPath của kèo bóng đá hom nay hàm tiêu chuẩnXmlexist
10693_10700xmltable
, chính thức sử dụng ngôn ngữ XQuery. Đối kèo bóng đá hom nay tất cả các chức năng này,PostgreSQLdựa kèo bóng đá hom nayolibxml2Thư viện chỉ cung cấp XPath 1.0.
Có một kết nối mạnh mẽ giữa ngôn ngữ XQuery và các phiên bản XPath 2.0 trở lên: Bất kỳ biểu thức nào có giá trị về mặt cú pháp và thực hiện thành công trong cả hai tạo ra kết quả tương tự (kèo bóng đá hom nay một ngoại lệ nhỏ cho các biểu thức chứa các tham chiếu ký tự hoặc thực thể được xác định trước. Nhưng không có kết nối như vậy giữa các ngôn ngữ này và XPath 1.0; Đó là một ngôn ngữ sớm hơn và khác nhau ở nhiều khía cạnh.
11490_11708PostgreSQL-Specific Chức năng.
kèo bóng đá hom nay tính năng của XQuery ngoài kèo bóng đá hom nay tính năng của XPath bao gồm:
Các biểu thức XQuery có thể xây dựng và trả về các nút kèo bóng đá hom nay mới, ngoài tất cả các giá trị XPath có thể. XPath có thể tạo và trả về các giá trị của các loại nguyên tử (số, chuỗi, v.v.) nhưng chỉ có thể trả về các nút kèo bóng đá hom nay đã có trong các tài liệu được cung cấp làm đầu vào cho biểu thức.
12572_12641
XQuery cho phép khai báo và sử dụng kèo bóng đá hom nay chức năng cục bộ.
Các phiên bản XPath gần đây bắt đầu cung cấp các khả năng chồng chéo kèo bóng đá hom nay các phiên bản này (chẳng hạn như kiểu chức năngfor-ava
vàSắp xếp
, Chức năng ẩn danh vàparse-kèo bóng đá hom nay
Để tạo một nút từ chuỗi), nhưng kèo bóng đá hom nay tính năng như vậy không có sẵn trước XPath 3.0.
Đối kèo bóng đá hom nay các nhà phát triển quen thuộc kèo bóng đá hom nay XQuery và XPath 2.0 trở lên, XPath 1.0 trình bày một số khác biệt để tranh cãi kèo bóng đá hom nay:
Loại cơ bản của biểu thức XQuery/XPath,chuỗi
, có thể chứa các nút kèo bóng đá hom nay, giá trị nguyên tử hoặc cả hai, không tồn tại trong XPath 1.0. Biểu thức 1.0 chỉ có thể tạo ra một bộ nút (chứa các nút kèo bóng đá hom nay hoặc nhiều hơn) hoặc một giá trị nguyên tử duy nhất.
Không giống như trình tự XQuery/XPath, có thể chứa bất kỳ mục mong muốn nào theo bất kỳ thứ tự mong muốn nào, SPATH 1.0-SET không có thứ tự được đảm bảo và, giống như bất kỳ bộ nào, không cho phép nhiều lần xuất hiện cùng một mục.
Thelibxml2Thư viện dường như luôn trả lại kèo bóng đá hom nay bộ nút thànhPostgreSQLVới các thành viên của họ theo cùng một thứ tự tương đối họ có trong tài liệu đầu kèo bóng đá hom nayo. Tài liệu của nó không cam kết với hành vi này và biểu thức XPath 1.0 không thể kiểm soát nó.
Trong khi XQuery/XPath cung cấp tất cả các loại được xác định trong lược đồ kèo bóng đá hom nay và nhiều toán tử và chức năng trên các loại đó, XPath 1.0 chỉ có bộ nút và ba loại nguyên tửBoolean
, Double
vàchuỗi
.
XPath 1.0 không có toán tử có điều kiện. Biểu thức xquery/xpath nhưif (mũ) thì mũ/@kích thước khác "Không mũ"
không có XPath 1.0 tương đương.
XPath 1.0 không có toán tử so sánh đặt hàng cho chuỗi. Cả hai"Cat" <"Dog"
và"Cat" "Dog"
là sai, bởi vì mỗi cái là một so sánh số của haiNAN
s. Ngược lại,=
và! =
Làm so sánh kèo bóng đá hom nay chuỗi là chuỗi.
XPath 1.0 làm mờ sự khác biệt giữaso sánh giá trịvàSo sánh chung15881_15918SALE/@HATSIZE = 7
vàSALE/@client = "Alice"
là kèo bóng đá hom nay so sánh được định lượng tồn tại, đúng nếu cóSALE
kèo bóng đá hom nay giá trị đã cho cho thuộc tính, nhưngSALE/@Taxable = false ()
là so sánh giá trị kèo bóng đá hom nayGiá trị Boolean hiệu quảcủa toàn bộ bộ nút. Nó chỉ đúng nếu khôngSALE
có Achịu thuế
thuộc tính ở tất cả.
Trong mô hình dữ liệu XQuery/XPath, ANút tài liệucó thể có biểu mẫu tài liệu (nghĩa là, chính xác là một yếu tố cấp cao nhất, chỉ có nhận xét và hướng dẫn xử lý bên ngoài nó) hoặc biểu mẫu nội dung (kèo bóng đá hom nay các ràng buộc đó được nới lỏng). Nó tương đương trong XPath 1.0,Nút gốc, chỉ có thể ở dạng tài liệu. Đây là một phần lý dokèo bóng đá hom nay
Giá trị được truyền dưới dạng mục ngữ cảnh cho bất kỳPostgreSQLHàm dựa trên XPath phải ở dạng tài liệu.
Sự khác biệt được tô sáng ở đây không phải là tất cả. Trong XQuery và kèo bóng đá hom nay phiên bản 2.0 trở lên của XPath, có chế độ tương thích XPath 1.0 và danh sách W3C củaThay đổi thư viện chức năngvàThay đổi ngôn ngữÁp dụng trong chế độ đó cung cấp một tài khoản đầy đủ hơn (nhưng vẫn không đầy đủ) về sự khác biệt. Chế độ tương thích không thể làm cho các ngôn ngữ sau này tương đương kèo bóng đá hom nay XPath 1.0.
Trong SQL: 2006 trở lên, cả hai hướng chuyển đổi giữa các loại dữ liệu SQL tiêu chuẩn và các loại lược đồ kèo bóng đá hom nay được chỉ định chính xác. Tuy nhiên, các quy tắc được thể hiện bằng cách sử dụng các loại và ngữ nghĩa của XQuery/XPath và không có ứng dụng trực tiếp vào mô hình dữ liệu khác nhau của XPath 1.0.
khiPostgreSQLBản đồ giá trị dữ liệu SQL thành kèo bóng đá hom nay (như trongxmlelement
) hoặc kèo bóng đá hom nay thành SQL (như trong các cột đầu ra của18502_18512
), ngoại trừ một kèo bóng đá hom nayi trường hợp được xử lý đặc biệt,PostgreSQLChỉ cần giả sử rằng biểu mẫu chuỗi XPath 1.0 của Kiểu dữ liệu kèo bóng đá hom nay sẽ hợp lệ như dạng đầu vào văn bản của kiểu dữ liệu SQL và ngược lại. Quy tắc này có đức tính đơn giản trong khi sản xuất, đối với nhiều loại dữ liệu, kết quả tương tự như các ánh xạ được chỉ định trong tiêu chuẩn.
Trường hợp khả năng tương tác kèo bóng đá hom nay các hệ thống khác là một mối quan tâm, đối kèo bóng đá hom nay một số loại dữ liệu, có thể cần phải sử dụng các chức năng định dạng kiểu dữ liệu (chẳng hạn như trongPhần 9.8) rõ ràng để tạo ra kèo bóng đá hom nay ánh xạ tiêu chuẩn.
Phần này liên quan đến kèo bóng đá hom nay giới hạn không vốn có tronglibxml2Thư viện, nhưng áp dụng cho việc triển khai hiện tại trongPostgreSQL.
theo giá trị
Cơ chế vượt qua được hỗ trợTiêu chuẩn SQL xác định haikèo bóng đá hom nay cơ chế vượt quaÁp dụng khi chuyển đối số kèo bóng đá hom nay từ SQL sang hàm kèo bóng đá hom nay hoặc nhận kết quả:bởi ref
, trong đó một giá trị kèo bóng đá hom nay cụ thể giữ lại danh tính nút của nó vàtheo giá trị
, trong đó nội dung của kèo bóng đá hom nay được truyền nhưng nhận dạng nút không được bảo tồn. Một cơ chế có thể được chỉ định trước danh sách các tham số, là cơ chế mặc định cho tất cả chúng hoặc sau bất kỳ tham số nào, để ghi đè mặc định.
Để minh họa sự khác biệt, nếu20568_20571
là giá trị kèo bóng đá hom nay, hai truy vấn này trong môi trường SQL: 2006 sẽ tạo ra đúng và sai, tương ứng:
Chọn XmlQuery ('$ a là $ b' đi qua refX
như a,x
20862_20930x
như A,X
như b null trên trống);
PostgreSQLsẽ chấp nhậntheo giá trị
hoặcbởi ref
trong mộtXmlexist
hoặcxmltable
Xây dựng, nhưng nó bỏ qua chúng. Thekèo bóng đá hom nay
21345_21486theo giá trị
.
Hỗ trợ kèo bóng đá hom nay hàm dựa trên XPath Truyền một tham số để đóng vai trò là mục ngữ cảnh của biểu thức XPath, nhưng không hỗ trợ truyền kèo bóng đá hom nay giá trị bổ sung có sẵn cho biểu thức như kèo bóng đá hom nay tham số được đặt tên.
kèo bóng đá hom nay (trình tự)
loạiThePostgreSQL kèo bóng đá hom nay
Kiểu dữ liệu chỉ có thể giữ một giá trị trongDocument
hoặcNội dung
Mẫu. Mục ngữ cảnh biểu thức XQuery/XPath phải là một nút kèo bóng đá hom nay hoặc giá trị nguyên tử, nhưng XPath 1.0 giới hạn nó chỉ là một nút kèo bóng đá hom nay và không có loại nút cho phépNội dung
. Kết quả là mộtDocument
là dạng duy nhất của giá trị kèo bóng đá hom nay màPostgreSQLCó thể cung cấp dưới dạng mục ngữ cảnh XPath.
Nếu bạn thấy bất cứ điều gì trong tài liệu không chính xác, không khớp Kinh nghiệm của bạn kèo bóng đá hom nay tính năng cụ thể hoặc yêu cầu làm rõ thêm, Vui lòng sử dụngMẫu nàyĐể báo cáo vấn đề tài liệu.