你如何在 PostgreSQL 中编写十六进制文字?就像说我想要0xCC,如果我这样做;
SELECT 0xCC;
xcc
-----
0
(1 row)
Run Code Online (Sandbox Code Playgroud)
所以 PostgreSQL 将 解析xcc为别名。
Eva*_*oll 12
int )您可以使用位串常量写入十六进制字节
SELECT x'CC'; -- same as b'11001100'
Run Code Online (Sandbox Code Playgroud)
这本质上与bit x'CC'返回位字符串类型相同,但有一个可用的强制转换,int因此您可以执行x'CC'::int * 5
如果字节序列是有效的 UTF-8 字符,您还可以使用E''反斜杠转义序列(单反斜杠 \)
SELECT E'\x41';
?column?
----------
A
(1 row)
Run Code Online (Sandbox Code Playgroud)
如果序列无效,您将收到错误消息
# SELECT E'\xCC';
ERROR: invalid byte sequence for encoding "UTF8": 0xcc
Run Code Online (Sandbox Code Playgroud)
bytea-具体的。PostgreSQL 有一个可变长度的二进制数据类型,允许任意字节。这种类型称为bytea. 您可以使用bytea 十六进制格式进入这种格式。在这我们要么使用,
\\bytea来自十六进制表示的强制转换。这里有两个语法,
SELECT bytea E'\\xDEADBEEF', bytea '\xDEADBEEF';
bytea | bytea
------------+------------
\xdeadbeef | \xdeadbeef
(1 row)
Run Code Online (Sandbox Code Playgroud)
如果您只需要存储大数字,而不是像bytea我将pg_bignum使用大数字的 openssl 实现检查哪些存储它们那样存储它们。
| 归档时间: |
|
| 查看次数: |
16342 次 |
| 最近记录: |