2012-02-21 25 views
0

我有如下表:SQLite的排序文本字段

CREATE TABLE IF NOT EXISTS TEST_TABLE (testID INTEGER PRIMARY KEY AUTOINCREMENT, testName TEXT);

一些测试数据的

  1. 测试
  2. 你好
  3. AA
  4. 世界

我的查询

SELECT * FROM TEST_TABLE ORDER BY testName

响应:

  1. 你好
  2. 测试
  3. 世界
  4. AA

预计:

  1. AA
  2. 你好
  3. 测试
  4. 世界

有人能解释一下为什么是这样的反应呢?

回答

4

试试这个:

SELECT * FROM TEST_TABLE ORDER BY testName COLLATE NOCASE; 
4

这是因为ORDER BY是大小写敏感的,一个 '一' 是比 'Z' 更大。有一个解决方案不区分大小写:[Your request] ORDER BY testName COLLATE NOCASE

希望这可以解释您的问题。

编辑:dom解释之前:-)