Yandex.Cloud
  • Сервисы
  • Почему Yandex.Cloud
  • Сообщество
  • Решения
  • Тарифы
  • Документация
  • Связаться с нами
Подключиться
Yandex Database
  • Начало работы
    • Обзор
    • Создание базы данных
    • YQL
      • Работа с данными
      • Работа с YDB CLI
      • Работа с YDB SDK
    • Document API
      • Работа с данными
      • Работа с инструментами AWS
        • Настройка окружения
  • Пошаговые инструкции
    • Работа с YDB CLI
      • Структура и описание команд YDB CLI
      • Получение информации об объекте схемы
      • Потоковое чтение таблицы
      • Работа со вторичными индексами
    • Использование плана запроса и AST
    • Управление базами данных
    • Подключение к базе данных
    • Управление таблицами
    • Чтение и запись данных
    • Работа со вторичными индексами
  • Работа с SDK
  • Концепции
    • Обзор
    • Модель данных и схема
    • Режимы работы Serverless и Dedicated
    • Типы данных
    • Транзакции
    • Вторичные индексы
    • Time to Live (TTL)
    • Термины и определения
    • Квоты и лимиты
  • Управление доступом
  • Правила тарификации
    • Обзор
    • Бессерверный режим
    • Режим с выделенными инстансами
  • Рекомендации
    • Проектирование схемы
    • Партицирование таблиц
    • Вторичные индексы
    • Постраничный вывод
    • Загрузка больших объемов данных
    • Использование таймаутов
  • YDB API и справочник
    • Ограничения базы данных
    • Обработка ошибок в API
  • HTTP API, совместимый с Amazon DynamoDB
    • Справочник API
      • Все методы
      • Actions
        • BatchGetItem
        • BatchWriteItem
        • CreateTable
        • DeleteItem
        • DeleteTable
        • DescribeTable
        • GetItem
        • ListTables
        • PutItem
        • Query
        • Scan
        • TransactGetItems
        • TransactWriteItems
        • UpdateItem
      • Общие ошибки
  • Справочник YQL
    • Обзор
    • Типы данных
      • Простые
      • Опциональные
      • Контейнеры
      • Специальные
    • Синтаксис
      • Неподдерживаемые конструкции
      • Работа с текстовым представлением типов данных
      • Выражения
      • CREATE TABLE
      • DROP TABLE
      • INSERT INTO
      • UPSERT INTO
      • REPLACE INTO
      • UPDATE
      • DELETE
      • SELECT
      • GROUP BY
      • JOIN
      • FLATTEN
      • ACTION
      • DISCARD
      • PRAGMA
      • DECLARE
      • OVER, PARTITION BY и WINDOW
    • Встроенные функции
      • Базовые
      • Агрегатные
      • Оконные
      • Для работы со списками
      • Для работы со словарями
      • Для работы с JSON
      • Для работы со структурами
      • Для работы с типами
    • Предустановленные пользовательские функции
      • HyperScan
      • Pcre
      • Pire
      • Re2
      • String
      • Unicode
      • Datetime
      • Url
      • Ip
      • Digest
      • Math
      • Histogram
    • Работа с текстовым представлением типов данных
  • Туториал YQL
    • Обзор
    • Создание таблицы
    • Добавление данных в таблицу
    • Выборка данных из всех колонок
    • Выборка данных из определенных колонок
    • Сортировка и фильтрация
    • Агрегирование данных
    • Дополнительные условия выборки
    • Объединение таблиц с помощью JOIN
    • Вставка и модификация данных с помощью REPLACE
    • Вставка и модификация данных с помощью UPSERT
    • Вставка данных с помощью INSERT
    • Обновление данных с помощью UPDATE
    • Удаление данных
    • Добавление и удаление колонок
    • Удаление таблицы
  • Обслуживание
    • Резервное копирование
  • Диагностика
    • Системные таблицы
  • Вопросы и ответы
    • Общие вопросы
    • Ошибки
    • YQL
    • Все вопросы на одной странице
  • Публичные материалы
  1. Справочник YQL
  2. Предустановленные пользовательские функции
  3. Unicode

Unicode UDF

    Функции для работы с Unicode строками:

    Список функций

    • Unicode::IsUtf(String) -> Bool

      Проверяет является ли строка валидной utf-8 последовательностью. Например, строка "\xF0" не является валидной utf-8 последовательностью, а строка "\xF0\x9F\x90\xB1" корректно описывает utf-8 emoji с котиком.

    • Unicode::GetLength(Utf8{Flags:AutoMap}) -> Uint64

      Возвращает длину utf-8 строки в символах (unicode code points). Суррогатные пары учитываются как один символ.

    • Unicode::Substring(Utf8{Flags:AutoMap}, from:Uint64?, len:Uint64?) -> Utf8

      Возвращает подстроку начиная с символа from длиной в len символов. Если аргумент len опущен, то подстрока берется до конца исходной строки.

    • Unicode::Normalize(Utf8{Flags:AutoMap}) -> Utf8

    • Unicode::NormalizeNFD(Utf8{Flags:AutoMap}) -> Utf8

    • Unicode::NormalizeNFC(Utf8{Flags:AutoMap}) -> Utf8

    • Unicode::NormalizeNFKD(Utf8{Flags:AutoMap}) -> Utf8

    • Unicode::NormalizeNFKC(Utf8{Flags:AutoMap}) -> Utf8

      Вышеперечисленные функции приводят переданную utf-8 строку в одну из нормальных форм.

    • Unicode::Translit(Utf8{Flags:AutoMap}, [String?]) -> Utf8

      Транслитерирует в латинский алфавит слова переданной строки, целиком состоящие из символов алфавита языка, переданного вторым аргументом. Если язык не указан, то транслитерация ведется с русского. Доступные языки: "kaz", "rus", "tur", "ukr".

    • Unicode::LevensteinDistance(Utf8{Flags:AutoMap}, Utf8{Flags:AutoMap}) -> Uint64

      Вычисляет расстояние Левенштейна для переданных строк.

    • Unicode::Fold(Utf8{Flags:AutoMap}, [Language:String?, DoLowerCase:Bool?]) -> Utf8

      Выполняет case folding для переданной строки. Language задается по тем же правилам, что и в Unicode::Translit(); DoLowerCase приводит строку к нижнему регистру, по умолчанию true.

    • Unicode::ReplaceAll(Utf8{Flags:AutoMap}, Utf8, Utf8) -> Utf8

      Aргументы: input, find, replacement. Заменяет все вхождения строки find в input на replacement.

    • Unicode::ReplaceFirst(Utf8{Flags:AutoMap}, Utf8, Utf8) -> Utf8 -- аргументы: input, find, replacement

      Aргументы: input, findSymbol, replacementSymbol. Заменяет первое вхождение символа findSymbol в input на replacementSymbol. Символ не может быть суррогатной парой.

    • Unicode::ReplaceLast(Utf8{Flags:AutoMap}, Utf8, Utf8) -> Utf8 -- аргументы: input, find, replacement

      Aргументы: input, findSymbol, replacementSymbol. Заменяет последнее вхождение символа findSymbol в input на replacementSymbol. Символ не может быть суррогатной парой.

    • Unicode::RemoveAll(Utf8{Flags:AutoMap}, Utf8) -> Utf8

      Второй аргумент интерпретируется как неупорядоченный набор символов для удаления. Удаляются все вхождения.

    • Unicode::RemoveFirst(Utf8{Flags:AutoMap}, Utf8) -> Utf8

      Второй аргумент интерпретируется как неупорядоченный набор символов для удаления. Удаляется первое вхождение.

    • Unicode::RemoveLast(Utf8{Flags:AutoMap}, Utf8) -> Utf8

      Второй аргумент интерпретируется как неупорядоченный набор символов для удаления. Удаляется последнее вхождение.

    • Unicode::Reverse(Utf8{Flags:AutoMap})

      Разворачивает переданную строку.

    Примеры

    SELECT Unicode::Fold("Eylül", "tur" AS Language); -- "eylul"
    SELECT Unicode::GetLength("жніўня");              -- 6
    
    Language
    Вакансии
    Политика конфиденциальности
    Условия использования
    © 2021 ООО «Яндекс.Облако»