F.32. mchar
Модуль mchar предоставляет дополнительные типы данных для совместимости с Microsoft SQL Server (MS SQL).
F.32.1. Обзор
Этот модуль был разработан для улучшения поддержки системы 1С:Предприятие, самой популярной в России CRM и ERP-платформы.
Он содержит реализацию типов MCHAR и MVARCHAR, которые с точностью до ошибок совместимы с типами MS SQL CHAR и VARCHAR, соответственно. Эти типы используют библиотеку ICU для сравнения строк и преобразования регистра, так что они действуют одинаково в разных операционных системах.
В Postgres Pro также есть расширение citext, предоставляющие типы, подобные MCHAR. Но это расширение не воспроизводит поведение MS-SQL в отношении пробельных символов в конце строки.
Отличия от стандартных типов Postgres Pro CHAR и VARCHAR:
- Сравнение без учёта регистра 
- Обработка пробельных символов в конце строки 
- Эти типы всегда хранятся как двухбайтовые строки Unicode вне зависимости от кодировки базы данных. 
F.32.2. Дополнительные типы
- mchar— аналог типа char в MS SQL
- mvarchar— аналог типа varchar в MS SQL
F.32.3. Функциональность типов MCHAR и MVARCHAR
- Определяется функция - length(str)
- Определяется функция - substr(str, pos[, length])
- Определяется оператор - ||, применяемый для конкатенации любых аргументов mchar и mvarchar
- Определяется набор операторов: - <,- <=,- =,- >=и- >для сравнения символов без учёта регистра (ICU)
- Определяется набор операторов: - &<,- &<=,- &=,- &>=и- &>для сравнения с учётом регистра (ICU)
- Неявное приведение между типами - mcharи- mvarchar
- Поддержка B-деревьев и хеш-индексов 
- Поддержка оператора - LIKE [ESCAPE]
- Поддержка оператора - SIMILAR TO [ESCAPE]
- Поддержка оператора ~ (регулярные выражения POSIX) 
- Поддержка индексов для оператора LIKE 
F.32.4. Авторы
      Олег Бартунов <oleg@sai.msu.ru>
       Фёдор Сигаев <teodor@sigaev.ru>