BYTES数据类型存储可变长度的二进制字符串。

别名

在CockroachDB中,以下是BYTES的别名: - BYTEA - BLOB

语法

要表示字节数组常量,请参阅字节数组文字部分以获取更多详细信息。例如,以下三个是相同字节数组的等效文字:b'abc'b'\ 141 \ 142 \ 143'b'\ x61 \ x62 \ x63'

除了这种语法之外,CockroachDB还支持使用字符串文字, 包括在上下文中的'...'e'...'x'....'

大小

BYTES的大小是可变的,但建议将值保持在1 MB以下以保证性能。如果高于该阈值,写入放大和其他因素可能会导致显着的性能下降。

示例

> CREATE TABLE bytes (a INT PRIMARY KEY, b BYTES);

> -- explicitly typed BYTES literals
> INSERT INTO bytes VALUES (1, b'\141\142\143'), (2, b'\x61\x62\x63'), (3, b'\141\x62\c');

> -- string literal implicitly typed as BYTES
> INSERT INTO bytes VALUES (4, 'abc');


> SELECT * FROM bytes;
+---+-----+
| a |  b  |
+---+-----+
| 1 | abc |
| 2 | abc |
| 3 | abc |
| 4 | abc |
+---+-----+
(4 rows)

支持的转化

可以将BYTES显式转换为STRING,转换验证字节数组仅包含有效的UTF-8字节序列; 否则报错。

STRING值可以显式转换为BYTES,这种转换总是成功的。

See Also

Data Types