在几个SO帖子中,OP要求以不区分大小写的方式搜索文本列的有效方法.
我能理解的最有效的方法是让数据库具有不区分大小写的排序规则.在我的情况下,我从头开始创建数据库,因此我可以完全控制数据库整理.唯一的问题是我不知道如何定义它,也找不到它的任何例子.
请告诉我如何使用不区分大小写的排序规则创建数据库.
我正在使用postgresql 9.2.4.
编辑1
该CITEXT
扩展是一个很好的解决方案.但是,它有一些限制,如文档中所述.如果不存在更好的方法,我肯定会使用它.
我想强调一点,我希望所有字符串操作都不区分大小写.使用CITEXT
每一个TEXT
字段是一种方式.但是,如果可能的话,使用不区分大小写的校对将是最好的.
现在/sf/users/39372161/说PostgreSQL使用底层系统公开的任何排序规则.我不介意让操作系统暴露不区分大小写的排序规则.唯一的问题我不知道该怎么做.
以下排序区分大小写:
MyModel.select().order_by(MyModel.name)
<class '__main__.MyModel'> SELECT t1."id", t1."name" FROM "mymodel" AS t1 ORDER BY t1."name" []
Run Code Online (Sandbox Code Playgroud)
如何添加 aNOCASE
使其不区分大小写?
或者有没有其他方法可以让它不区分大小写?