当前位置: 代码迷 >> 其他数据库 >> SQLITE有关问题
  详细解决方案

SQLITE有关问题

热度:7043   发布时间:2013-02-26 00:00:00.0
SQLITE问题
table aa 
a integer
B string
insert into aa(a, b) values(3, '1E10');
 这样写入数据库的 会变成 3,10000000000
记得是在1E10前面加个什么字符就不会出现这种情况了
有人知道吗

------解决方案--------------------------------------------------------
N
------解决方案--------------------------------------------------------
加个N
------解决方案--------------------------------------------------------
加个N!
------解决方案--------------------------------------------------------
這是什麽數據庫呀?關注.
------解决方案--------------------------------------------------------
楼主你这样写不就乐意了。

SQL code
insert into aa(a, b) values(3, ' 1E10');
------解决方案--------------------------------------------------------
SQL code
-- =========================================-- -----------t_mac 小编-------------   ---希望有天成为大虾---- -- =========================================IF OBJECT_ID('tb') IS NOT NULL  DROP TABLE tbGOCREATE TABLE tb(a integer ,B nvarchar(100) )goinsert into tb (a, b) values(3, '1E10');goselect * from tb /*------------3    1E10-------*/
------解决方案--------------------------------------------------------
SQL code
N'
------解决方案--------------------------------------------------------
SQL code
-- =========================================-- -----------t_mac 小编-------------   ---希望有天成为大虾---- -- =========================================IF OBJECT_ID('tb') IS NOT NULL  DROP TABLE tbGOCREATE TABLE tb(a integer ,B nvarchar(100) )--这里的string 改成Nvarchargoinsert into tb (a, b) values(3, N'1E10');goselect * from tb /*------------3    1E10-------*/
------解决方案--------------------------------------------------------
SQL 不会出现楼主的情况。
------解决方案--------------------------------------------------------
SQL code
DECLARE @TB TABLE(A INT, B VARCHAR(10))INSERT @TB VALUES(1, '1E10')SELECT * FROM @TB/*A           B----------- ----------1           1E10*/
------解决方案--------------------------------------------------------
有人用oracle试下看怎么样?
------解决方案--------------------------------------------------------
探讨
加N 不行,你们说的是SQLITE库吗

------解决方案--------------------------------------------------------
在插入的时候,把'1E10'再转化成字符类型的试一下。
------解决方案--------------------------------------------------------
建议到其它数据库提问。
------解决方案--------------------------------------------------------
探讨
有人用oracle试下看怎么样?

------解决方案--------------------------------------------------------
把String类型换成TEXT试试。
------解决方案--------------------------------------------------------
探讨
没事顶一顶

------解决方案--------------------------------------------------------
我测试过,没有这个问题,楼主的SQLITE是不是版本低了?


------解决方案--------------------------------------------------------
或者楼主的插入语句是
insert into test1 values (1,1E10)
就会这样

我觉得这两种情况对数据库来说都是正常处理的了
------解决方案--------------------------------------------------------
对了SQLite应该没有String类型,我使用varchar/nvarchar代替测试的
------解决方案--------------------------------------------------------
由于“一个用户只允许连续回复3次。”,换个用户回复

用String作为数据类型真有楼主说的问题,建议改成varchar/nvarchar类型,类型规范些而且没有楼主说的问题
  相关解决方案