2012-02-21 60 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解釋之前:-)