全部產品
Search
文件中心

PolarDB:二進位類型

更新時間:Jul 06, 2024

本文介紹了PolarDB PostgreSQL版(相容Oracle)支援的二進位類型。

二進位字串可以儲存以下資料類型。

表 1. 二進位大對象
名稱儲存大小描述
BINARY二進位字串的長度。定長二進位字串,長度介於1和8300之間。
BLOB實際二進位字串加1位元組(如果二進位字串小於127位元組)或4位元組(如果二進位字串大於等於127位元組)。可變長度的二進位字串。
VARBINARY二進位字串的長度。可變長度的二進位字串,長度介於1和8300之間。
BYTEA1或4位元組加上實際的二進位字串。變長的二進位字串。
二進位串是一個8位位元組(或位元組的序列)。與字串相比,二進位串有兩點不同:
  • 二進位串允許存放值為0的8位位元組和其他無法列印顯示的八位位元組(定義的範圍超過32~126)。
  • 在二進位串上進行的操作實際是處理位元組,與之相反的是對字串的編碼和處理取決於本地設定。

BYTEA類型

BYTEA類型支援兩種輸入輸出的外部格式:hex格式和PostgreSQL的歷史escape格式。
  • hex格式將位元據編碼為每位元組2位十六進位數字, 最重要的四位(半位元組)放在開始。整條字串以\x開始 (與轉義格式相區別)。
  • escape格式是一種傳統的PostgreSQL格式。它採用以ASCII字元序列來表示二進位串的方法,同時將那些無法表示成ASCII字元的二進位串轉換成特殊的逸出序列。從應用的角度看,如果代表位元組的字元有意義,則這種表示方法會很方便。但實際上,這樣做會模糊二進位字串和字元字串之間的區別,從而造成困擾, 同時篩選出的轉義機制會顯得很臃腫。因此對一些新應用應該恰當的避免這種格式。