2014-12-04 52 views
0

我有一个iOS应用程序(的XCode)从SQLite数据库显示的数据,使用这种select语句的选择:排序顺序问题

SELECT *, rowid FROM FPLANW order by W_NAME 

工作正常,但返回的数据(位置)中没有排序真正的字母顺序。例如,这些是一些返回的数据的顺序:

PERTH CBD 
PERTH HOSPITAL 
PERTH 

普通分拣将使PERTH以上PERTH CBD

有没有办法改变数据库或SELECT命令来实现这个?

+1

是否为“W_NAME”列定义了任何自定义归类序列? (我的意思是在“CREATE TABLE”中 - 是否有定义此列的COLLATE?) – Googie 2014-12-04 09:29:33

+0

不是。那么它是否使用标准BINARY归类?我需要以某种方式定义特殊的排序顺序吗? – 2014-12-05 03:29:32

+0

是的,它使用BINARY,但没关系。我在本地创建了一个简单的测试用例,对我来说它正确排序。你是否试图对同一个数据库执行相同的查询,但不是在iOS下,而是在MacOSX下,使用它自己的SQLite库执行相同的查询?你也许可以使用MacOSX的'sqlite3'命令行应用程序来做这个测试。 – Googie 2014-12-05 11:27:37

回答

0

用户错误。由第三方编写的一些(复杂)代码在某些情况下操纵SQLite输出。