sqlite.dll
==========
Текущая версия 3.8.1
Собрана с подключением ICU, что обеспечивает работу следующих фич:
- REGEXP: сравнение строк на соответствие регулярному выражению. Используется ICU версия
регулярных выражений - http://userguide.icu-project.org/strings/regexp
- LIKE, GLOB: по настоящему регистонезависимые.
- upper, lower: юникодные версии. Есть дополнительный опциональный параметр, позволяющий
указать локаль для преобразования:
lower('I', 'en_us') -> 'i'
lower('I', 'tr_tr') -> 'ı' (small dotless i)
- icu_load_collation: функция для создания различных collation на базе локалей ICU,
которые потом можно использовать для задания сравнения строковых величин. Использование:
icu_load_collation('имя локали ICU', 'имя создаваемой collation', [флаг])
флаг - необязательный параметр, если указан, при создании collation будет дополнительно
вызвана ucol_setStrength, передающая флаг создаваемой локали. Обычно полезен флаг 0,
что означает создать регистро-независимую локаль.
Сами флаги здесь: http://icu-project.org/apiref/icu4c/ucol_8h_source.html#l00093
По умолчанию локаль создается регистро-зависимая.
Пример:
select icu_load_collation('ru_RU', 'rus', 0); -- создание регистро-независимой русской локали
create table test(field1 TEXT collate rus); -- указываем, что для столбца таблицы надо применять русскую локаль
-- сравнение величин
select 'ъ' = 'Ъ'; -- вернет 0
select 'ъ' = 'Ъ' collate rus; -- вернет 1, локаль создавали регистро-независимую
Библиотека собрана "с хитринкой", которая позволяет ей автоматом использовать ICU либо версии 4.0, которая
шла с 1С до 8.2.14, либо 4.6, которая пошла с 1С от 8.2.14 и выше.