我正在开发Android应用程序,其中用户有不同的选项来排序来自数据库的显示数据。目前我的排序依据的字符串,我传递给机器人会查询()方法是这样的:确定SQLite中列的数据类型
"LOWER("+columnName+") ASC"
这样做的问题是,如果由COLUMNNAME指定的列的数据类型是它整数,调用LOWER()将导致它按字母顺序排序,即仅基于最左边的数字,这对数字数据当然没有任何意义。因此,如果列的数据类型不是整数,我只想应用LOWER()。我想到的是这样一个说法:
"CASE WHEN [data type of columnName is integer] THEN "+columnName+" ASC ELSE LOWER("+columName+") ASC END"
括号内的部分是我不知道该怎么做。 SQLite是否提供了一个函数来确定列的数据类型?
就我而言,这并不重要。值的类型应该与列的类型匹配。所以typeof(columnName)应该完美地工作。非常感谢你。 – 2010-06-24 07:19:17