2011-03-18 41 views
0

我在我的SQLite类型为String的表中有一列。当我插入一个字符串如'600e2'时,它添加了'60000'。看起来它以'e'为指数。这是SQLite的一些已知属性吗?任何可以绕过这个API的调用?
谢谢,
RajathAndroid SQLite数据库中的字符串列被转换为指数值

+0

请将该列数据类型更改为文本,看看发生了什么。 – 2011-03-18 07:00:19

+0

如果我更改为“文本”,那么它的工作原理。但是,我可以在对应用程序进行更新时执行此操作吗?...因为现有用户拥有带'String'类型的db。 – rajath 2011-03-18 07:14:14

+0

@Chirag - 无论如何,我可能不得不采用你的解决方案。谢谢....另外,我似乎无法将您的答案标记为正确 – rajath 2011-03-18 07:23:32

回答

3

请将您的列数据类型更改为文本。所以它可以处理指数。

是的,您可以更改数据库更新的列数据类型。

0

尽管你可以指定一个SQLite列的“类型”,你可以存储在任何列中的任意类型。如果你把一个字符串放到一个整数中,那么可以,如果你把一个数字放到一个字符串中,那也是可以的。

在我这里的测试中,如果我用引号括住字符串; update table set column ='700e2'; 然后它存储作为700e2

如果我 更新表组列= 700e2; 然后它回来为70000.

+0

我正在使用下面的函数[插入](http://developer.android.com/reference/android/database/sqlite/SQLiteDatabase.html#insert%28java.lang.String,%20java.lang.String,% 20android.content.ContentValues%29)..在这里,如果我使用引号,它也反映在值中。 – rajath 2011-03-18 07:18:35