当前位置:  开发笔记 > 编程语言 > 正文

确定SQLite中列的数据类型

如何解决《确定SQLite中列的数据类型》经验,为你挑选了2个好方法。

我正在开发一个Android应用程序,用户可以使用不同的选项来排序来自数据库的显示数据.目前我传递给Androids query()方法的orderBy字符串如下所示:

"LOWER("+columnName+") ASC"

这样做的问题是,如果columnName指定的列中的数据类型是整数,则在其上调用LOWER()将使其按字母顺序排序,即仅基于最左边的数字,这当然没有任何意义对于数字数据.因此,如果列的数据类型不是整数,我只想应用LOWER().我的想法是这样的声明:

"CASE WHEN [data type of columnName is integer] THEN "+columnName+" ASC ELSE LOWER("+columName+") ASC END"

括号中的部分是我不知道该怎么做的.SQLite是否提供了确定列数据类型的函数?



1> dan04..:

您真的想要的类型或的类型吗?(SQLite是动态类型的,因此区别很重要.)

如果你想要后者,你可以使用typeof(columnName).



2> Diego Torres..:

使用:

PRAGMA table_info(table-name);

获取表格信息.

推荐阅读
殉情放开那只小兔子
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有