Phiên bản được hỗ trợ:hiện tại(17) /16 / 15 / 14 / 13
Phiên bản phát triển:18 / Devel
Phiên bản không được hỗ trợ:12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4 / 7.3
Tài liệu này dành cho phiên bản không được hỗ trợ của PostgreSQL.
Bạn có thể muốn xem cùng một trang chohiện tạiPhiên bản hoặc một trong các phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

kèo bóng đá euro DÀN DIỄN VIÊN

tên

kèo bóng đá euro-Xác định một diễn viên mới

Synopsis

kèo bóng đá euro (SourcetypeASTargetType)
    Với chức năngfuncname(argtypes)
    [Như nhiệm vụ | Như tiềm ẩn]

kèo bóng đá euro (SourcetypeASTargetType)
    Không có chức năng
    [Như nhiệm vụ | Như ẩn]

Mô tả

kèo bóng đá euroXác định một kèo bóng đá euro mới. MỘT Cast chỉ định cách thực hiện chuyển đổi giữa hai dữ liệu loại. Ví dụ,

Chọn kèo bóng đá euro (42 làm văn bản);

Chuyển đổi hằng số nguyên 42 thành loạiTextbằng cách gọi một chức năng được chỉ định trước đó, trong trường hợp nàyText (int4). (Nếu không có phù hợp kèo bóng đá euro đã được xác định, chuyển đổi không thành công.)

Hai loại có thể làTương thích nhị phân,, có nghĩa là chúng có thể được chuyển đổi thành nhau"miễn phí"mà không cần gọi bất kỳ chức năng. Điều này yêu cầu các giá trị tương ứng sử dụng giống nhau Đại diện nội bộ. Chẳng hạn, các loạiTextVarchar11874_11901

Theo mặc định, một kèo bóng đá euro chỉ có thể được gọi bởi một kèo bóng đá euro rõ ràng yêu cầu, đó là một điều rõ ràngcast (xASTypename)hoặcx::typenameXây dựng.

Nếu kèo bóng đá euro được đánh dấulàm bài tậpSau đó, nó có thể được gọi hoàn toàn khi gán một giá trị cho a Cột của kiểu dữ liệu đích. Ví dụ: giả sử rằngfoo.f1là một cột loạiText, sau đó

12557_12594

sẽ được phép nếu kèo bóng đá euro từ loạiSố nguyênđể loạiTextđược đánh dấulàm bài tập, nếu không thì không. (Chúng tôi thường sử dụng thuật ngữkèo bóng đá euro gánĐể mô tả loại kèo bóng đá euro này.)

Nếu kèo bóng đá euro được đánh dấunhư ẩn ửngSau đó, nó có thể được gọi hoàn toàn trong bất kỳ bối cảnh nào, cho dù gán hoặc nội bộ trong một biểu thức. Ví dụ, kể từ||13104_13113Texttoán hạng,

Chọn 'Thời gian là' || Hiện nay();

sẽ chỉ được phép nếu kèo bóng đá euro từ loạidấu thời gianđếnTextđược đánh dấunhư ẩn ửng. Nếu không nó sẽ là cần thiết để viết dàn kèo bóng đá euro một cách rõ ràng, ví dụ

Chọn 'Thời gian là' || Cast (bây giờ () dưới dạng văn bản);

(Chúng tôi thường sử dụng thuật ngữẩn dàn kèo bóng đá euroĐể mô tả loại kèo bóng đá euro này.)

Thật khôn ngoan khi bảo thủ về việc đánh dấu các kèo bóng đá euro là tiềm ẩn. Một sự dư thừa của các đường dẫn đúc ngầm có thể gây raPostgreSQLĐể chọn gây ngạc nhiên diễn giải các lệnh hoặc không thể giải quyết các lệnh Tất cả vì có nhiều cách giải thích có thể. MỘT Nguyên tắc tốt là chỉ làm cho một kèo bóng đá euro không thể mời được cho các phép biến đổi bảo tồn thông tin giữa các loại trong Cùng một loại loại chung. Ví dụ: kèo bóng đá euro từINT2đếnINT4Có thể một cách hợp lý ngầm, nhưng kèo bóng đá euro từfloat8đếnINT4Có lẽ chỉ nên được gán. Các kèo bóng đá euro phân loại loại chéo, chẳng hạn nhưTextđếnINT4, tốt nhất là chỉ rõ ràng.

Để có thể kèo bóng đá euro một diễn viên, bạn phải sở hữu nguồn hoặc Kiểu dữ liệu mục tiêu. Để kèo bóng đá euro ra một diễn viên tương thích nhị phân, bạn phải Superuser. (Hạn chế này được thực hiện bởi vì một sai lầm Chuyển đổi diễn viên tương thích nhị phân có thể dễ dàng làm hỏng máy chủ.)

tham số

Sourcetype

Tên của kiểu dữ liệu nguồn của dàn kèo bóng đá euro.

TargetType

Tên của kiểu dữ liệu đích của dàn kèo bóng đá euro.

funcname(argtypes)

Hàm được sử dụng để thực hiện kèo bóng đá euro. Tên chức năng có thể là sơ đồ đủ điều kiện. Nếu không, chức năng sẽ Nhìn lên trong đường dẫn tìm kiếm lược đồ. Kết quả của chức năng Kiểu dữ liệu phải khớp với loại mục tiêu của dàn kèo bóng đá euro. Của nó Các đối số được thảo luận dưới đây.

không có chức năng

cho biết loại nguồn và loại mục tiêu là Tương thích nhị phân, vì vậy không cần phải thực hiện chức năng để thực hiện kèo bóng đá euro.

làm bài tập

cho biết rằng các kèo bóng đá euro có thể được gọi một cách ngầm bối cảnh gán.

như ẩn ửng

chỉ ra rằng các kèo bóng đá euro có thể được gọi ngầm trong bất kỳ bối cảnh.

Các chức năng triển khai kèo bóng đá euro có thể có một đến ba đối số. Loại đối số đầu tiên phải giống hệt với nguồn của kèo bóng đá euro kiểu. Đối số thứ hai, nếu có, phải là loạiSố nguyên; nó nhận được công cụ sửa đổi loại được liên kết với loại đích hoặc-116549_16619Boolean; nó nhận đượcTRUE16692_16728falseNếu không. (Thật kỳ lạ, các yêu cầu về thông số SQL các hành vi khác nhau cho các kèo bóng đá euro rõ ràng và ngầm trong một số trường hợp. Đối số này được cung cấp cho các chức năng phải thực hiện các kèo bóng đá euro như vậy. Bạn không nên thiết kế Các loại dữ liệu riêng để điều này quan trọng.)

Thông thường, một kèo bóng đá euro phải có dữ liệu nguồn và mục tiêu khác nhau loại. Tuy nhiên, nó được phép khai báo một kèo bóng đá euro với Các loại nguồn và mục tiêu nếu nó có chức năng triển khai Cast với nhiều hơn một đối số. Điều này được sử dụng để đại diện Các chức năng ép buộc chiều dài cụ thể trong các danh mục hệ thống. Hàm được đặt tên được sử dụng để ép buộc một giá trị của loại Loại giá trị sửa đổi được đưa ra bởi đối số thứ hai của nó. (Kể từ khi Ngữ pháp hiện chỉ cho phép một số loại dữ liệu tích hợp Có loại sửa đổi loại, tính năng này không được sử dụng cho người dùng do người dùng xác định Các loại mục tiêu, nhưng chúng tôi đề cập đến nó để hoàn thiện.)

Khi một kèo bóng đá euro có các loại nguồn và mục tiêu khác nhau và một chức năng mất nhiều hơn một đối số, nó đại diện cho chuyển đổi từ loại này sang loại khác và áp dụng một chiều dài cưỡng chế trong một bước duy nhất. Khi không có mục nào như vậy, Sự ép buộc của một loại sử dụng công cụ sửa đổi loại liên quan đến hai bước, một để chuyển đổi giữa các loại dữ liệu và một thứ hai để áp dụng người sửa đổi.

Ghi chú

sử dụngDrop Castđến Xóa các kèo bóng đá euro do người dùng xác định.

Hãy nhớ rằng nếu bạn muốn có thể chuyển đổi các loại các cách bạn cần khai báo rõ ràng về các kèo bóng đá euro.

trướcPostgreSQL7.3, Mọi chức năng có cùng tên với kiểu dữ liệu, được trả về loại dữ liệu đó và lấy một đối số thuộc loại khác là tự động là một chức năng đúc. Công ước này đã bị bỏ rơi đối mặt với việc giới thiệu các lược đồ và có thể Đại diện cho các kèo bóng đá euro tương thích nhị phân trong các danh mục hệ thống. Các Các chức năng kèo bóng đá euro tích hợp vẫn tuân theo sơ đồ đặt tên này, nhưng chúng phải được hiển thị dưới dạng kèo bóng đá euro trong danh mục hệ thốngpg_cast

18959_19217typename(x). Ký hiệu này trên thực tế không có gì hơn cũng không nhỏ hơn một cuộc gọi của chức năng thực hiện kèo bóng đá euro; nó là Không được coi là đặc biệt như một kèo bóng đá euro. Nếu các chức năng chuyển đổi của bạn là không được đặt tên để hỗ trợ hội nghị này thì bạn sẽ ngạc nhiên Người dùng. TừPostgreSQLcho phép quá tải của cùng một tên hàm với đối số khác nhau Các loại, không có khó khăn gì trong việc chuyển đổi nhiều các chức năng từ các loại khác nhau mà tất cả đều sử dụng loại mục tiêu tên.

Lưu ý:Có một lời nói dối nhỏ trong phần trước Đoạn: Vẫn còn một trường hợp trong đópg_castsẽ được sử dụng để giải quyết ý nghĩa của một cuộc gọi chức năng rõ ràng. Nếu một chức năng gọitên(x) khớp không có chức năng thực tế, nhưngtênlà tên của kiểu dữ liệu vàpg_castHiển thị tương thích nhị phân đúc theo loại này từ loạiX, thì cuộc gọi sẽ được hiểu là một kèo bóng đá euro rõ ràng. Ngoại lệ này được thực hiện để Các kèo bóng đá euro tương thích nhị phân có thể được gọi bằng cách sử dụng chức năng cú pháp, mặc dù chúng thiếu bất kỳ chức năng nào.

Ví dụ

Để kèo bóng đá euro một diễn viên từ loạiTextđể loạiINT4Sử dụng chức năngint4 (văn bản):

kèo bóng đá euro (Text as Int4) với hàm int4 (văn bản);

(kèo bóng đá euro này đã được xác định trước trong hệ thống.)

Tương thích

Thekèo bóng đá euroLệnh phù hợp với SQL: 1999, ngoại trừ SQL: 1999 không đưa ra các điều khoản cho Các loại tương thích nhị phân hoặc các đối số bổ sung để thực hiện chức năng.như ẩn ửnglà mộtPostgreSQLPhần mở rộng, quá.