Oracle 中的轉儲函式顯示資料的內部表示:
DUMP 回傳一個 VARCHAR2 值,其中包含資料型別代碼、位元組長度和 expr 的內部表示
例如:
SELECT DUMP(cast(1 as number ))
2 FROM DUAL;
DUMP(CAST(1ASNUMBER))
--------------------------------------------------------------------------------
Typ=2 Len=2: 193,2
SQL> SELECT DUMP(cast(1.000001 as number ))
2 FROM DUAL;
DUMP(CAST(1.000001ASNUMBER))
--------------------------------------------------------------------------------
Typ=2 Len=5: 193,2,1,1,2
它表明第一個示例使用 2 個位元組進行存盤,第二個示例使用 5 個位元組進行存盤。
我想 PostgreSQL 中的類似函式是pg_typeof但它只回傳型別名稱而不回傳有關位元組使用的資訊:
選擇 pg_typeof(33);
pg_typeof
整數(1 行)
有人知道 PostgreSQL 中是否有等效功能嗎?
uj5u.com熱心網友回復:
我不會說 PostgreSQL。
但是,甲骨文的功能頁說,有Orafce這
在 Postgres 中實作了 Oracle 資料庫中缺少的一些功能(或行為不同)
此外,它還提到了dump功能
dump (anyexpr [, int]):回傳一個文本值,其中包括資料型別代碼、位元組長度和運算式的內部表示
其中一個示例如下所示:
postgres=# select pg_catalog.dump('Pavel Stehule',10);
dump
-------------------------------------------------------------------------
Typ=25 Len=17: 68,0,0,0,80,97,118,101,108,32,83,116,101,104,117,108,101
(1 row)
對我來說,它看起來像 Oracle 的dump:
SQL> select dump('Pavel Stehule') result from dual;
RESULT
--------------------------------------------------------------
Typ=96 Len=13: 80,97,118,101,108,32,83,116,101,104,117,108,101
SQL>
我想你必須訪問 GitHub 并安裝包,看看你是否可以使用它。
uj5u.com熱心網友回復:
它不是完全等價的,但是如果您想找出在 PostgreSQL 中用于編碼字串的位元組值,您可以簡單地將值轉換為bytea,這將為您提供十六進制的位元組:
SELECT CAST ('sch?n' AS bytea);
這適用于字串,但不適用于數字。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/408049.html
標籤:
