我有如下表:SQLite的排序文本字段
CREATE TABLE IF NOT EXISTS TEST_TABLE (testID INTEGER PRIMARY KEY AUTOINCREMENT, testName TEXT);
一些测试数据的
- 测试
- 你好
- AA
- 世界
我的查询
SELECT * FROM TEST_TABLE ORDER BY testName
响应:
- 你好
- 测试
- 世界
- AA
预计:
- AA
- 你好
- 测试
- 世界
有人能解释一下为什么是这样的反应呢?
我有如下表:SQLite的排序文本字段
CREATE TABLE IF NOT EXISTS TEST_TABLE (testID INTEGER PRIMARY KEY AUTOINCREMENT, testName TEXT);
一些测试数据的
我的查询
SELECT * FROM TEST_TABLE ORDER BY testName
响应:
预计:
有人能解释一下为什么是这样的反应呢?
试试这个:
SELECT * FROM TEST_TABLE ORDER BY testName COLLATE NOCASE;
这是因为ORDER BY是大小写敏感的,一个 '一' 是比 'Z' 更大。有一个解决方案不区分大小写:[Your request] ORDER BY testName COLLATE NOCASE
希望这可以解释您的问题。
编辑:dom解释之前:-)