Spec-Zone.ru › DuckDB

Типы текстовых данных

В DuckDB строки могут храниться в поле VARCHAR. Поле позволяет хранить символы Юникода. Внутренне данные кодируются как UTF-8.

Имя Псевдонимы Описание
VARCHAR CHAR, BPCHAR, STRING, TEXT Строка символов переменной длины.
VARCHAR(n) CHAR(n), BPCHAR(n), STRING(n), TEXT(n) Строка символов переменной длины. Максимальная длина n не влияет на работу и предоставляется только для совместимости.

Определение ограничения длины

Определение длины для типов VARCHAR, STRING, и TEXT не требуется и не влияет на систему. Указание длины не улучшит производительность или не уменьшит объем занимаемого места строк в базе данных. Эти варианты поддерживаются для совместимости с другими системами, которым требуется указывать длину для строк.

Если вы хотите ограничить количество символов в столбце VARCHAR по соображениям целостности данных, следует использовать ограничение CHECK, например:

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

Поле VARCHAR позволяет хранить символы Юникода. Внутренне данные кодируются как UTF-8.

Значения типа текста

Значения текстового типа — это строки символов, также известные как строковые значения или просто строки. Во время выполнения строковые значения создаются одним из следующих способов:

  • ссылка на столбцы, тип которых объявлен или подразумевается как текстовый тип данных
  • строковые литералы
  • приведение типов выражений к типу текста
  • применение строкового оператора или вызов функции, возвращающей значение текстового типа

Строки со специальными символами

Для использования специальных символов в строке используйте экранированные строковые литералы или строковые литералы в кавычках с символом доллара. В качестве альтернативы можно использовать конкатенацию и chr функцию символов:

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

Функции

См. Функции текста и Сопоставление с образцом.

© Copyright 2018–2024 Stichting DuckDB Foundation
Licensed under the MIT License.
https://duckdb.org/docs/sql/data_types/text.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API