F.33. mchar — дополнительные типы данных для совместимости с Microsoft SQL Server #

Модуль mchar предоставляет дополнительные типы данных для совместимости с Microsoft SQL Server (MS SQL).

F.33.1. Обзор #

Этот модуль был разработан для улучшения поддержки системы 1С:Предприятие, самой популярной в России CRM и ERP-платформы.

Он содержит реализацию типов MCHAR и MVARCHAR, которые с точностью до ошибок совместимы с типами MS SQL CHAR и VARCHAR, соответственно. Эти типы используют библиотеку ICU для сравнения строк и преобразования регистра, так что они действуют одинаково в разных операционных системах.

В Postgres Pro также есть расширение citext, предоставляющие типы, подобные MCHAR. Но это расширение не воспроизводит поведение MS-SQL в отношении пробельных символов в конце строки.

Отличия от стандартных типов Postgres Pro CHAR и VARCHAR:

  • Сравнение без учёта регистра

  • Обработка пробельных символов в конце строки

  • Эти типы всегда хранятся как двухбайтовые строки Unicode вне зависимости от кодировки базы данных.

F.33.2. Дополнительные типы #

  • mchar — аналог типа char в MS SQL

  • mvarchar — аналог типа varchar в MS SQL

F.33.3. Функциональность типов MCHAR и MVARCHAR #

  • Определяется функция length(str)

  • Определяется функция substr(str, pos[, length])

  • Определяется оператор ||, применяемый для конкатенации любых аргументов mchar и mvarchar

  • Определяется набор операторов: <, <=, =, >= и > для сравнения символов без учёта регистра (ICU)

  • Определяется набор операторов: &<, &<=, &=, &>= и &> для сравнения с учётом регистра (ICU)

  • Неявное приведение между типами mchar и mvarchar

  • Поддержка B-деревьев и хеш-индексов

  • Поддержка оператора LIKE [ESCAPE]

  • Поддержка оператора SIMILAR TO [ESCAPE]

  • Поддержка оператора ~ (регулярные выражения POSIX)

  • Поддержка индексов для оператора LIKE

F.33.4. Авторы #

      Олег Бартунов 
      Фёдор Сигаев 
    

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy