Phiên bản được hỗ trợ:hiện tại(17) /16 / 15 / 14 / 13
4935_504618 / 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

11220_11269

Phần này mô tả các chức năng và toán tử để kiểm tra và thao tác các kèo bóng đá c1, đó 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 đá c1 văn bản được mô tả trong phần trước.

SQLXác định một số hàm kèo bóng đá c1 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 đá c1 này sử dụng cú pháp gọi chức kèo bóng đá c1 chính quy (xemBảng 9.12).

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

Chức kèo bóng đá c1/Toán tử

Mô tả

Ví dụ

bytea || byteabytea

Concatenates hai kèo bóng đá c1.

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

bit_length(bytea) →Số nguyên

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

bit_length ('\ x123456' :: bytea)24

octet_length(bytea) →Số nguyên

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

octet_length ('\ x123456' :: bytea)3

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

Thay thế kèo bóng đá c1 con củabytebắt đầu từBắt đầu15492_15519Đếmbyte vớiNewsubString. Nếu nhưĐếmbị bỏ qua, nó mặc định là độ dài củaNewsubString.

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

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

trích xuất kèo bóng đá c1 con củabyteBắt đầu tạiBắ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([cả]bytesremove bytea từ byte bytea) →bytea

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

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

Trim([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 hàm thao tác kèo bóng đá c1 bổ sung có sẵn và được liệt kê trongBảng 9.1220038_20092SQL-Standard Chức năng kèo bóng đá c1 được liệt kê trongBảng 9.11.

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

chức kèo bóng đá c1

Mô tả

Ví dụ (s)

btrim(byte bytea, bytesremove bytea) →bytea

Xóa kèo bóng đá c1 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

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

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

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 đá c1.

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

LEGN(bytea) →Số nguyên

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

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 đá c1, giả sử đó là văn bản trong đã chomã hóa.

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

MD5(bytea) →Text

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

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

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

SETSn'thbit trong kèo bóng đá c1 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 đá c1 thànhNewValue.

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

SHA22427179_27184bytea) →bytea

Tính toán SHA-224Hashcủa kèo bóng đá c1.

SHA224 ('ABC' :: bytea)

SHA256(bytea) →bytea

Tính toán SHA-256Hashcủa kèo bóng đá c1.

SHA256 ('ABC' :: bytea)

SHA384(bytea) →bytea

Tính toán SHA-384Hashcủa kèo bóng đá c1.

SHA384 ('ABC' :: bytea)\ XCB00753F45A35E8BB5A03D699AC65007

SHA512(bytea29215_29222bytea

Tính toán SHA-512Hashcủa kèo bóng đá c1.

SHA512 ('ABC' :: bytea)29502_29637

kèo bóng đá c1 con(byte bytea, Bắt đầu Số nguyên[, 30122_30129 Số nguyên]) →bytea

trích xuất kèo bóng đá c1 con củabyteBắt đầu tạiBắt đầu'th byte và mở rộng choĐếm​​Byte 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 đá c1get_byteSET_BYTESố byte đầu tiên của kèo bóng đá c1 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 đá c1MD531467_31506Texttrong khi các hàm SHA-2 trả về loạibytea. Sử dụng các chức kèo bóng đá c1mã 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ị.

Các hàm chuyển đổi kèo bóng đá c1 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 đá c1 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 đá c1 văn bản/nhị phân

chức kèo bóng đá c1

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 đá c1 đại diện cho văn bản trong mã hóasrc_encoding34080_34114Dest_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 đá c1 đạ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 đá c1 Text, 35865_35880 tên) →bytea

Chuyển đổi ATextChuỗi (trong mã hóa cơ sở dữ liệu) thành kèo bóng đá c1 đượ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 đá c1 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 đá c1 Text, Định dạng Text) →bytea

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

Decode ('mtizaae =', 'base64')\ x3132330001


Themã hóagiải mãCác chức kèo bóng đá c1 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. Theo RFC, các dòng được mã hóa bị phá vỡ ở mức 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. Thegiải mãChức kèo bóng đá c1 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 0 byte và byte với bit cao được đặt thành kèo bóng đá c1 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. Thegiải mãHà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 đá c1; 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 đá c1,0đếnf, viết chữ số bậc cao của mỗi byte trước. Themã hóachức kèo bóng đá c1 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-fký tự trong chữ hoa hoặc chữ 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ẻ.

Xem thêm hàm tổng hợpString_agginPhần 9.21và các chức kèo bóng đá c1 đối tượng lớn trongPhần 34.4.

Gửi hiệu chỉnh

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 với tính kèo bóng đá c1 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.