STRING数据类型存储一串Unicode字符。

别名

在CockroachDB中,以下是STRING的别名:

以下是STRING(n)的别名:

长度

使用 STRING(n)来显示string列的长度,其中n是允许的最大Unicode代码点数(通常被认为是“字符”)。

插入字符串时: - 如果值超过列的长度限制,CockroachDB将会报错。 - 如果该值被转换为具有长度限制的字符串(例如,CAST('hello world'AS STRING(5))),则CockroachDB将截断到限制长度。 - 如果该值未达到列的长度限制,CockroachDB将使用not添加填充。这适用于STRING(n)和其所有别名。

语法

STRING类型的值可以使用多种格式表示。 有关详细信息,请参阅字符串文字

在SQL shell中打印出STRING值时,如果值不包含特殊字符,则shell使用简单的SQL字符串文字格式,否则使用转义格式。

Collations

STRING值接受collations,允许你根据特定语言和国家/地区的规则对字符串进行排序。

注意:你当前不能在索引或主键中使用collated strings; 这样做会导致CockroachDB崩溃。 如果你对如何在这些上下文中使用collated strings感兴趣,可以在GitHub上关注此问题,以便在解决后得到通知。

大小

STRING值的大小是可变的,但建议将值保持在64千字节以下以确保性能。 高于该阈值,写入放大和其他因素可能导致明显的性能下降。

示例

> CREATE TABLE strings (a STRING PRIMARY KEY, b STRING(4), c TEXT);

> SHOW COLUMNS FROM strings;
+-------+-----------+-------+---------+
| Field |  Type     | Null  | Default |
+-------+-----------+-------+---------+
| a     | STRING    | false | NULL    |
| b     | STRING(4) | true  | NULL    |
| c     | STRING    | true  | NULL    |
+-------+-----------+-------+---------+
> INSERT INTO strings VALUES ('a1b2c3d4', 'e5f6', 'g7h8i9');

> SELECT * FROM strings;
+----------+------+--------+
|    a     |  b   |   c    |
+----------+------+--------+
| a1b2c3d4 | e5f6 | g7h8i9 |
+----------+------+--------+

支持的转换

STRING可以被转换为以下数据类型: Type | Details -----|-------- BOOL | 需要支持BOOL字符串格式,例如,'true' BYTES | 需要支持的BYTES字符串格式,例如 b'\141\061\142\062\143\063' DATE | 需要支持的DATE字符串格式,例如 '2016-01-25' DECIMAL |需要支持的DECIMAL字符串格式,例如'1.1'. FLOAT | 需要支持的FLOAT字符串格式,例如'1.1'. INET | 需要支持的INET字符串格式,例如 '192.168.0.1'. INT | 需要支持的INT字符串格式,例如'10'. INTERVAL | 需要支持的INTERVAL字符串格式,例如'1h2m3s4ms5us6ns'. TIME | New in v2.0:需要支持的TIME字符串格式,例如'01:22:12' (微秒精度). TIMESTAMP | 需要支持的TIMESTAMP字符串格式,例如'2016-01-25 10:10:10.555555'.

See Also

Data Types