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 / 7.2
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ế.

9.5. Chức năng kèo bóng đá hom nay và toán tử#

Phần này mô tả các chức năng và toán tử để kiểm tra và thao tác kèo bóng đá hom nay, đó là các giá trị của loạibytea. Nhiều trong số này là tương đương, về mục đích và cú pháp, với các hàm kèo bóng đá hom nay văn bản được mô tả trong phần trước.

SQLXác định một số hàm kèo bóng đá hom nay sử dụng các từ khóa, thay vì dấu phẩy, để phân tách các đối số. Chi tiết trongBảng 9.11. PostgreSQLCũng cung cấp các phiên bản của các chức kèo bóng đá hom nay này sử dụng cú pháp gọi chức kèo bóng đá hom nay thông thường (xemBảng 9.12).

Bảng 9.11.SQLChức năng kèo bóng đá hom nay và toán tử

Hàm/kèo bóng đá hom nay tử

Mô tả

Ví dụ

bytea || byteabytea

Concatenates hai kèo bóng đá hom nay.

'\ x123456' :: bytea || '\ x789a00bcde' :: bytea\ x123456789A00BCDE

bit_length(bytea) →Số nguyên

Trả về số bit trong kèo bóng đá hom nay (8 lầnoctet_length).

bit_length ('\ x123456' :: bytea)24

Btrim(byte bytea, bytesremove bytea) →bytea

Xóa kèo bóng đá hom nay dài nhất chỉ chứa byte xuất hiện trongbytesremoveTừ đầu và cuối củabyte.

btrim ('\ x1234567890' :: bytea, '\ x9012' :: bytea)\ x345678

LTRIM(byte bytea, bytesremove bytea) →bytea

Xóa kèo bóng đá hom nay dài nhất chỉ chứa byte xuất hiện trongbytesremoveTừ đầubyte.

ltrim ('\ x1234567890' :: bytea, '\ x9012' :: bytea)\ x34567890

octet_length(bytea) →Số nguyên

Trả về số byte trong kèo bóng đá hom nay.

octet_length ('\ x123456' :: bytea)3

Lớp phủ(byte bytea Đặt NewsubString bytea từ bắt đầu Số nguyên[cho Count Số nguyên]) →bytea

Thay thế kèo bóng đá hom nay con củabytebắt đầu từBắt đầu'th byte và mở rộng choĐếmbyte vớiNewsubString. Nếu nhưĐếmbị bỏ qua, nó mặc định theo chiều dàiNewsubString.

Lớp phủ ('\ x1234567890' :: bytea đặt '\ 002 \ 003' :: bytea từ 2 cho 3)\ x12020390

vị trí(Subring bytea in byte bytea) →Số nguyên

Trả về chỉ mục bắt đầu đầu tiên của được chỉ địnhSubringtrongbytehoặc không nếu nó không có mặt.

vị trí ('\ x5678' :: bytea trong '\ x1234567890' :: bytea)3

rtrim(byte bytea, bytesremove bytea) →bytea

Loại bỏ kèo bóng đá hom nay dài nhất chỉ chứa byte xuất hiện trongbytesremoveTừ cuốibyte.

rtrim ('\ x1234567890' :: bytea, '\ x9012' :: bytea)\ x12345678

Subring(byte bytea[từ Bắt đầu Số nguyên] [cho Đếm Số nguyên]) →bytea

trích xuất kèo bóng đá hom nay con củabyteBắt đầu từBắt đầu'th byte nếu điều đó được chỉ định và dừng sauĐếmbyte nếu được chỉ định. Cung cấp ít nhất một trong sốBắt đầuĐếm.

Subring ('\ x1234567890' :: bytea từ 3 cho 2)\ x5678

Trim([Dẫn đầu | Trailing | cả]bytesremove bytea từ byte bytea) →bytea

Xóa kèo bóng đá hom nay dài nhất chỉ chứa byte xuất hiện trongbytesremoveTừ đầu, kết thúc hoặc cả hai đầu (cảlà mặc định) củabyte.

Trim ('\ x9012' :: bytea từ '\ x1234567890' :: bytea)\ x345678

Trim([Dẫn đầu | Trailing | Cả] [từ]byte bytea, bytesremove bytea) →bytea

Đây là cú pháp không chuẩn choTrim ().

Trim (cả hai từ '\ x1234567890' :: bytea, '\ x9012' :: bytea)\ x345678


Các chức năng thao tác kèo bóng đá hom nay bổ sung có sẵn và được liệt kê trongBảng 9.12. Một số trong số chúng được sử dụng nội bộ để thực hiệnSQL-Standard Chức năng kèo bóng đá hom nay được liệt kê trongBảng 9.11.

Bảng 9.12. Các chức năng kèo bóng đá hom nay khác

function

Mô tả

Ví dụ (s)

Bit_Count(byte bytea) →Bigint

Trả về số lượng bit được đặt trong kèo bóng đá hom nay (còn được gọi làHồiPopCountHồi).

bit_count ('\ x1234567890' :: bytea)15

CRC32(bytea) →Bigint

Tính giá trị CRC-32 của kèo bóng đá hom nay.

crc32 ('abc' :: bytea)891568578

CRC32C(bytea) →Bigint

Tính giá trị CRC-32C của kèo bóng đá hom nay.

crc32c ('abc' :: bytea)910901175

get_bit(byte bytea, n Bigint) →Số nguyên

Trích xuấtn'thbit từ kèo bóng đá hom nay.

get_bit ('\ x1234567890' :: bytea, 30)1

get_byte(byte bytea, n Số nguyên) →Số nguyên

Trích xuấtn'thbyte từ kèo bóng đá hom nay.

get_byte ('\ x1234567890' :: bytea, 4)144

LEGN(bytea) →Số nguyên

Trả về số byte trong kèo bóng đá hom nay.

length ('\ x1234567890' :: bytea)5

length(byte bytea, Mã hóa tên) →Số nguyên

Trả về số lượng ký tự trong kèo bóng đá hom nay, giả sử rằng đó là văn bản trong đã chomã hóa.

length ('jose' :: bytea, 'utf8')4

MD5(bytea) →Text

Tính kèo bóng đá hom nay MD5Hashcủa kèo bóng đá hom nay, với kết quả được viết bằng thập lục phân.

md5 ('th \ 000omas' :: bytea)8AB2D3C9689AAF18 B4958C334C82D8B1

đảo ngược(bytea) →bytea

đảo ngược thứ tự của các byte trong kèo bóng đá hom nay.

Reverse ('\ xabcd' :: bytea)\ XCDAB

set_bit(byte bytea, n Bigint, NewValue Số nguyên) →bytea

SETSn'thbit trong kèo bóng đá hom nay thànhNewValue.

set_bit ('\ x1234567890' :: bytea, 30, 0)\ x1234563890

SET_BYTE(byte bytea, n Số nguyên, NewValue Số nguyên) →bytea

SETSn'thbyte trong kèo bóng đá hom nay thànhNewValue.

set_byte ('\ x1234567890' :: bytea, 4, 64)\ x1234567840

SHA224(bytea) →bytea

Tính kèo bóng đá hom nay SHA-224Hashcủa kèo bóng đá hom nay.

SHA224 ('ABC' :: bytea)

SHA256(bytea) →bytea

Tính kèo bóng đá hom nay SHA-256Hashcủa kèo bóng đá hom nay.

SHA256 ('ABC' :: bytea)\ XBA7816BF8F01CFEA414140DE5DAE2223 B00361A396177

SHA384(bytea) →bytea

Tính kèo bóng đá hom nay SHA-384Hashcủa kèo bóng đá hom nay.

SHA384 ('ABC' :: bytea)\ XCB00753F45A35E8BB5A03D699AC65007

SHA512(bytea) →bytea

Tính kèo bóng đá hom nay SHA-512Hashcủa kèo bóng đá hom nay.

SHA512 ('ABC' :: bytea)\ XDDAF35A193617ABACC417349AE204131 12E6FA4E89A97EA B55D39A 2192992A274FC1A836BA3C23A3FEEBBD 454D4423643CE80E2A9AC94FA54CA49F

kèo bóng đá hom nay con​​(byte bytea, Bắt đầu Số nguyên[, Đếm Số nguyên]) →bytea

trích xuất kèo bóng đá hom nay con củabyteBắt đầu tạiBắt đầu'th byte và mở rộng choĐếmByte nếu được chỉ định. (Giống nhưSubring (bytetừBắt đầuchoĐếm).)

Subrtr ('\ x1234567890' :: bytea, 3, 2)\ x5678


chức kèo bóng đá hom nayget_byteset_byteSố byte đầu tiên của kèo bóng đá hom nay là byte 0. Hàmget_bitset_bitSố bit từ bên phải trong mỗi byte; Ví dụ: bit 0 là bit ít có ý nghĩa nhất của byte đầu tiên và bit 15 là bit quan trọng nhất của byte thứ hai.

Vì lý do lịch sử, chức kèo bóng đá hom nayMD5Trả về giá trị được mã hóa hex của loạiTexttrong khi các hàm SHA-2 trở lại loạibytea. Sử dụng các chức kèo bóng đá hom naymã hóagiải mãĐể chuyển đổi giữa hai. Ví dụ: Viếtmã hóa (sha256 ('abc'), 'hex')Để có được biểu diễn văn bản được mã hóa hex hoặcDecode (MD5 ('ABC'), 'Hex')để nhậnbyteaGiá trị.

Hàm chuyển đổi kèo bóng đá hom nay giữa các bộ ký tự khác nhau (mã hóa) và để biểu diễn dữ liệu nhị phân tùy ý ở dạng văn bản, được hiển thị trongBảng 9.13. Đối với các chức kèo bóng đá hom nay này, một đối số hoặc kết quả của loạiTextđược thể hiện trong mã hóa mặc định của cơ sở dữ liệu, trong khi các đối số hoặc kết quả của loạibyteađang ở trong một mã hóa được đặt tên bởi một đối số khác.

Bảng 9.13. Chức năng chuyển đổi kèo bóng đá hom nay văn bản/nhị phân

chức kèo bóng đá hom nay

Mô tả

Ví dụ (s)

Chuyển đổi(byte bytea, src_encoding tên, Dest_encoding tên) →bytea

Chuyển đổi một kèo bóng đá hom nay đại diện cho văn bản trong mã hóasrc_encodingđến kèo bóng đá hom nay trong mã hóaDest_encoding(xemPhần 23.3.4để chuyển đổi có sẵn).

chuyển đổi ('text_in_utf8', 'utf8', 'latin1')\ x746578745F696E5F75746638

convert_from(byte bytea, src_encoding tên) →Text

Chuyển đổi một kèo bóng đá hom nay đại diện cho văn bản trong mã hóasrc_encodingđếnTextTrong mã hóa cơ sở dữ liệu (xemPhần 23.3.4để chuyển đổi có sẵn).

convert_from ('text_in_utf8', 'utf8')text_in_utf8

convert_to(kèo bóng đá hom nay Text, Dest_encoding tên) →bytea

Chuyển đổi ATextChuỗi (trong mã hóa cơ sở dữ liệu) thành kèo bóng đá hom nay được mã hóa trong mã hóaDest_encoding(xemPhần 23.3.4để chuyển đổi có sẵn).

Convert_TO ('SOME_TEXT', 'UTF8')\ x736f6d655f74657874

mã hóa(byte bytea, Định dạng Text) →Text

mã hóa dữ liệu nhị kèo bóng đá hom nay thành một biểu diễn văn bản; được hỗ trợĐịnh dạngGiá trị là:base64, Escape, Hex.

mã hóa ('123 \ 000 \ 001', 'base64')mtizaae =

giải mã(kèo bóng đá hom nay Text, Định dạng Text) →bytea

Giải mã dữ liệu nhị kèo bóng đá hom nay từ biểu diễn văn bản; được hỗ trợĐịnh dạngGiá trị giống như đối vớimã hóa.

giải mã ('mtizaae =', 'base64')\ x3132330001


Themã hóagiải mãCác chức kèo bóng đá hom nay hỗ trợ các định dạng văn bản sau:

base64 #

Thebase64Định dạng là củaRFC 2045 Phần 6.8. TheoRFC, Các dòng được mã hóa bị phá vỡ ở 76 ký tự. Tuy nhiên, thay vì điểm đánh dấu cuối dòng MIME CRLF, chỉ có một dòng mới được sử dụng cho cuối dòng.giải mãChức kèo bóng đá hom nay bỏ qua các ký tự chuyển đổi, Newline, Space và Tab. Nếu không, một lỗi được nêu ra khigiải mãđược cung cấp dữ liệu Base64 không hợp lệ - bao gồm khi đệm theo dõi không chính xác.

Escape #

TheEscapeĐịnh dạng chuyển đổi số byte và byte với bit cao được đặt thành kèo bóng đá hom nay thoát hiểm (\nnn), và nó tăng gấp đôi dấu gạch chéo ngược. Các giá trị byte khác được thể hiện theo nghĩa đen.DecodeHàm sẽ gây ra lỗi nếu dấu gạch chéo ngược không được theo sau bởi dấu gạch chéo ngược thứ hai hoặc ba chữ số bát kèo bóng đá hom nay; nó chấp nhận các giá trị byte khác không thay đổi.

Hex #

TheHexĐịnh dạng đại diện cho mỗi 4 bit dữ liệu dưới dạng một chữ số thập lục kèo bóng đá hom nay,0đếnf, viết chữ số bậc cao của mỗi byte trước tiên. Themã hóachức kèo bóng đá hom nay xuất raA-fCác chữ số hex trong chữ thường. Bởi vì đơn vị dữ liệu nhỏ nhất là 8 bit, luôn có số lượng ký tự chẵn được trả về bởimã hóa. Thegiải mãHàm chấp nhậnA-fCác ký tự trong trường hợp trên hoặc thường. Một lỗi được nêu ra khigiải mãđược cung cấp dữ liệu hex không hợp lệ - bao gồm khi được cho một số ký tự lẻ.

Ngoài ra, có thể chuyển các giá trị tích kèo bóng đá hom nay đến và từ loạibytea. Đúc một số nguyên đếnbyteaSản xuất 2, 4 hoặc 8 byte, tùy thuộc kèo bóng đá hom nayo chiều rộng của loại số nguyên. Kết quả là đại diện bổ sung của hai số nguyên, với byte quan trọng nhất đầu tiên.

1234 :: Smallint :: bytea\ x04D2Cast (1234 dưới dạng bytea)\ X000004D2cast (-1234 dưới dạng bytea)\ XFFFFFB2E'\ x8000' :: bytea :: smallint-32768'\ x8000' :: bytea :: integer32768

Đúc Abyteađến số nguyên sẽ gây ra lỗi nếu độ dài củabyteavượt quá chiều rộng của loại số nguyên.

Xem thêm hàm tổng hợpString_agginPhần 9,21và các chức kèo bóng đá hom nay đối tượng lớn trongPhần 33.4.