F.29. mchar#
F.29. mchar #
Модуль mchar предоставляет дополнительные типы данных для совместимости с Microsoft SQL Server (MS SQL).
F.29.1. Обзор #
Этот модуль был разработан для улучшения поддержки 1C Предприятия, самой популярной российской CRM и ERP системы.
Он реализует типы MCHAR и MVARCHAR, которые совместимы с MS SQL CHAR и VARCHAR соответственно, с сохранением всех ошибок.
Кроме того, эти типы используют библиотеку ICU для сравнения и
преобразования регистра, поэтому их поведение идентично на разных
операционных системах.
Tantor SE-1C также включает
расширение citext, которое предоставляет типы,
аналогичные MCHAR. Однако это расширение не эмулирует поведение MS-SQL
в отношении пробелов в конце значения.
Differences from Tantor SE-1C CHAR and VARCHAR are:
Сравнение без учета регистра
Обработка пробелов в конце строки
Эти типы всегда хранятся в виде двухбайтового значения Unicode, независимо от кодировки базы данных.
F.29.2. Дополнительные типы #
mchar— аналог типа char в MS SQLmvarchar— аналог типа MS SQL varchar
F.29.3. Функции MCHAR и MVARCHAR #
Определяет функцию
length(str)Определяет функцию
substr(str, pos[, length])Определяет оператор
||, который будет применяться для объединения любых аргументов (mcharиmvarchar)Определяет набор операторов:
<,<=,=,>=,>для регистронезависимого сравнения (ICU)Определяет набор операторов:
&<,&<=,&=,&>=,&>для чувствительного к регистру сравнения (ICU)Неявное преобразование между типами
mcharиmvarcharПоддержка B-дерева и хеш-индекса
Поддержка оператора
LIKE [ESCAPE]Поддержка оператора
SIMILAR TO [ESCAPE]Оператор
~(регулярное выражение POSIX) поддерживаетсяПоддержка индексов для оператора
LIKE
F.29.4. Авторы #
Олег Бартунов, Федор Сигаев.