如何使用指定的语言环境对 sqlite3 中的文本进行排序?

2021-12-02 00:00:00 locale ruby-on-rails sqlite collation

Sqlite3 默认只按 ascii 字母排序.我试图在 google 中查找,但我发现的唯一内容是有关排序规则的信息.Sqlite3 只有 NOCASERTRIMBIARY 排序规则.如何添加对特定语言环境的支持?(我在 Rails 应用程序中使用它)

Sqlite3 by default sorts only by ascii letters. I tried to look in google, but the only thing I found were informations about collations. Sqlite3 has only NOCASE, RTRIM and BIARY collations. How to add support for a specific locale? (I'm using it in Rails application)

推荐答案

SQLite 支持与ICU的集成.根据自述文件,sqlite/ext/icu/README.txtsqlite/ext/icu/ 目录包含 SQLiteICU"扩展的源代码,一个将Unicode 国际组件"库与 SQLite 集成.

SQLite supports integration with ICU. According to the Readme file, sqlite/ext/icu/README.txt the sqlite/ext/icu/ directory contains source code for the SQLite "ICU" extension, an integration of the "International Components for Unicode" library with SQLite.

1. Features

    1.1  SQL Scalars upper() and lower()
    1.2  Unicode Aware LIKE Operator
    1.3  ICU Collation Sequences
    1.4  SQL REGEXP Operator

相关文章