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试下看怎么样?
------解决方案--------------------------------------------------------
------解决方案--------------------------------------------------------
在插入的时候,把'1E10'再转化成字符类型的试一下。
------解决方案--------------------------------------------------------
建议到其它数据库提问。
------解决方案--------------------------------------------------------
------解决方案--------------------------------------------------------
把String类型换成TEXT试试。
------解决方案--------------------------------------------------------
------解决方案--------------------------------------------------------
我测试过,没有这个问题,楼主的SQLITE是不是版本低了?
------解决方案--------------------------------------------------------
或者楼主的插入语句是
insert into test1 values (1,1E10)
就会这样
我觉得这两种情况对数据库来说都是正常处理的了
------解决方案--------------------------------------------------------
对了SQLite应该没有String类型,我使用varchar/nvarchar代替测试的
------解决方案--------------------------------------------------------
由于“一个用户只允许连续回复3次。”,换个用户回复
用String作为数据类型真有楼主说的问题,建议改成varchar/nvarchar类型,类型规范些而且没有楼主说的问题