Phiên bản được hỗ trợ:hiện tại(173713_384416 / 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

9.5. Chức năng kèo bóng đá pháp 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 các kèo bóng đá pháp, đó 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 đá pháp văn bản được mô tả trong phần trước.

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

12358_12382SQLChức năng kèo bóng đá pháp và toán tử

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

Mô tả

Ví dụ

13124_13131 || byteabytea

Concatenates hai kèo bóng đá pháp.

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

bit_length(bytea) →Số nguyên

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

bit_length ('\ x123456' :: bytea)24

octet_length(bytea) →Số nguyên

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

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 đá pháp 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 là độ dài củaNewsubString.

15815_15886\ x12020390

vị trí(Subring bytea in byte 16383_16390) →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

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

trích xuất kèo bóng đá pháp 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([Dẫn đầu | Trailing | cả]bytesremove bytea từ byte bytea) →bytea

Loại bỏ kèo bóng đá pháp 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 đá pháp 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 đá pháp được liệt kê trongBảng 9.11.

Bảng 9.12. Các chức năng kèo bóng đá pháp 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 đá pháp (còn được gọi làHồiPopCountxông).

bit_count ('\ x1234567890' :: bytea)15

Btrim(byte bytea, bytesremove bytea) →bytea

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

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 đá pháp.

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

length(bytea) →Số nguyên

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

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

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

LTRIM(byte bytea, bytesremove bytea) →bytea

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

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

MD5(bytea) →Text

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

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

rtrim(byte bytea, bytesremove bytea) →bytea

Xóa kèo bóng đá pháp dài nhất chỉ chứa byte xuất hiện trongbytesremoveTừ cuốibyte.

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

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

SETSn'thbit trong kèo bóng đá pháp đếnNewValue.

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 đá pháp thànhNewValue.

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

SHA224(bytea) →bytea

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

SHA224 ('ABC' :: bytea)\ x23097D223405D8228642A477BDA2 55B32AADBCE4BDA0B3F7E36C9DA7

SHA256(bytea) →bytea

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

SHA256 ('ABC' :: bytea)

SHA384(bytea) →bytea

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

SHA384 ('ABC' :: bytea)

SHA512(bytea) →bytea

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

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

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

trích xuất kèo bóng đá pháp con củabyteBắt đầu tạiBắt đầu'th byte và mở rộng cho33041_33048Byte 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 đá phápget_byteSET_BYTESố byte đầu tiên của kèo bóng đá pháp là byte 0. Hàmget_bit33755_33762set_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 đá phápMD5Trả về giá trị được mã hóa hex của loạiTexttrong khi các hàm SHA-2 trả về loạibytea. Sử dụng các chức kèo bóng đá phápmã hóagiải mãĐể chuyển đổi giữa hai. Ví dụ: Viết34519_34549Để 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 đá pháp 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 đá pháp 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 đá pháp văn bản/nhị phân

function

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 đá pháp đại diện cho văn bản trong mã hóasrc_encodingđến kèo bóng đá pháp trong mã hóaDest_encoding(xemPhần 24.3.4để chuyển đổi có sẵn).

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

37359_37373(byte bytea, src_encoding tên) →Text

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

Convert_from ('text_in_utf8', 'utf8')text_in_utf8

Convert_TO(kèo bóng đá pháp 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 đá pháp được mã hóa trong mã hóaDest_encoding(xemPhần 24.3.438915_38945

\ x736f6d655f74657874

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

mã hóa dữ liệu nhị kèo bóng đá pháp 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 đá pháp Text, Định dạng Text) →bytea

Giải mã dữ liệu nhị kèo bóng đá pháp 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 đá pháp 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. Thegiải mãHàm 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 cơ sở không hợp lệ64 - 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 đá pháp 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 đá pháp; 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 đá pháp,0đếnf, viết chữ số bậc cao của mỗi byte trước. Themã hóachức kèo bóng đá pháp 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ẻ.

Xem thêm hàm tổng hợp43787_43799inPhần 9.21và các chức kèo bóng đá pháp đối tượng lớn trongPhần 35.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 đá pháp 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.