当前位置: 首页 > 面试题库 >

如何更改sqlite3数据库的排序规则以区分大小写?

越俊艾
2023-03-14
问题内容

我有一个查询sqlite3数据库,该数据库提供了已排序的数据。数据是根据varchar“名称”列进行排序的。现在当我执行查询时

select * from tableNames Order by Name;

它提供了这样的数据。

    钢笔
    订书机
    铅笔

表示正在考虑区分大小写的内容。我想要的方式如下

    钢笔
    铅笔
    订书机

那么,对于必要的结果,我应该在sqlite3数据库中进行哪些更改?

相关如何在字符串比较时将Sqlite3设置为不区分大小写?


问题答案:

SQLite数据类型文档讨论了用户定义的排序规则序列。具体来说,您可以使用COLLATE
NOCASE实现您的目标。

他们举了一个例子:

CREATE TABLE t1(
    a,                 -- default collation type BINARY
    b COLLATE BINARY,  -- default collation type BINARY
    c COLLATE REVERSE, -- default collation type REVERSE
    d COLLATE NOCASE   -- default collation type NOCASE
);

并注意:

-使用NOCASE排序规则序列进行分组(即,值-‘abc’和’ABC’放在同一组中)。SELECT count(*)GROUP BY d FROM t1;



 类似资料:
  • 问题内容: 现在数据库已建立,我想将排序规则更改为。 PhpMyAdmin中是否有任何设置可以更改数据库,表,列的排序规则?而不是一一改变? 问题答案: 您需要单独转换每个表: (这也将转换列),或使用导出数据库,然后使用将其导入回来。

  • 问题内容: MySQL中是否有任何支持区分大小写的排序规则类型。我在MySQL中使用了所有类型的排序规则,它们的名称末尾都带有_ci,因此它们是不区分大小写的排序规则。 问题答案: 根据MySQL手册http://dev.mysql.com/doc/refman/5.0/en/charset- mysql.html, 您应该能够将排序规则设置为区分大小写。您可以通过执行查询来获取归类列表 经过一点

  • 我有一个选项卡视图,在每个选项卡视图中我有一个数据表。 当我调试代码时,我观察到,如果我单击column进行排序,就会调用datatable呈现器的类decode方法; @override public void decode(FacesContext上下文,UIComponent组件){} 在此方法中 但是当我切换选项卡并返回时,并没有直接调用decode方法,而是调用encodeEnd方法,为

  • 问题内容: 我在mongodb作为数据库的nodejs(express)中的一个项目中非常努力地工作。当我使用sort()获取所有数据时,它以错误的方式返回数据,所以有办法按我期望的那样正确地设置其格式,如下所示:如果我们在数据库中有三个记录: 我现在得到的是: 2,3,1系列数据 我期望会是:1,2,3 这意味着在不添加新列的情况下可以排序的情况下将忽略大小写。 问题答案: 您需要在 这里使用

  • null 但我不知道如何将它与反应模板一起使用。

  • 问题内容: 我发现此答案很有用: Oracle中口音和不区分大小写的COLLATE等效,但是我的问题是关于使用版本9 Oracle db进行LIKE搜索。 我试过这样的查询: 但不会返回任何结果。 我创建了一个小的Java文件进行测试: 我没有在谷歌搜索上取得任何成功,没有任何解决方案? 我想对名称的一部分执行搜索,并返回使用大小写和重音不敏感匹配的结果。 问题答案: 一种方法是修改会话参数并: