⌘+k ctrl+k
1.1.3 (stable)
Search Shortcut cmd + k | ctrl + k
Text Types

在DuckDB中,字符串可以存储在VARCHAR字段中。 该字段允许存储Unicode字符。在内部,数据被编码为UTF-8。

名称 别名 描述
VARCHAR CHAR, BPCHAR, STRING, TEXT 可变长度的字符串。
VARCHAR(n) CHAR(n), BPCHAR(n), STRING(n), TEXT(n) 可变长度字符串。最大长度 n 没有实际影响,仅为了兼容性提供。

指定长度限制

VARCHARSTRINGTEXT类型指定长度不是必需的,并且对系统没有影响。指定长度不会提高性能或减少数据库中字符串的存储空间。这些变体是为了与其他需要指定字符串长度的系统兼容而支持的。

如果您希望出于数据完整性的原因限制VARCHAR列中的字符数,则应使用CHECK约束,例如:

CREATE TABLE strings (
    val VARCHAR CHECK (length(val) <= 10) -- val has a maximum length of 10
);

VARCHAR 字段允许存储Unicode字符。在内部,数据被编码为UTF-8。

文本类型值

文本类型的值是字符串,也称为字符串值或简称为字符串。在运行时,字符串值通过以下方式之一构建:

包含特殊字符的字符串

要在字符串中使用特殊字符,请使用转义字符串字面量美元引号字符串字面量。或者,您可以使用连接和chr字符函数

SELECT 'Hello' || chr(10) || 'world' AS msg;
┌──────────────┐
│     msg      │
│   varchar    │
├──────────────┤
│ Hello\nworld │
└──────────────┘

Functions

参见文本函数模式匹配