我正在開發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