我试图在表中存储长整数。我的表架构看起来像 下方。
CREATE TABLE t7(a long integer);
我正在插入低于值。
insert into t7(a) values(16732595907054788167);
但是当我选择时我会得到数值如下
select * from t7;
1.67325959070548e+19
我不想使用字符串或blob作为数据类型。 如何在选择时将数字转换为长整数。
答案 0 :(得分:1)
SQLite使用带符号的64位整数,因此最大可能的整数值为9223372036854775807.。
它使用dynamic typing,所以你无法做更大的整数:
CREATE TABLE test(
Col1 LONG INTEGER,
Col2 UNSIGNED LONG INTEGER,
Col3 EXTREMELY HUGE LONG LONG LONG INTEGER EXTENDED ENTERPRISE EDITION,
Col4 EH WHATEVER
);
INSERT INTO test VALUES (9223372036854775807,9223372036854775807,9223372036854775807,9223372036854775807);
INSERT INTO test VALUES (9223372036854775808,9223372036854775808,9223372036854775808,9223372036854775808);
SELECT * FROM test;
9223372036854775807 9223372036854775807 9223372036854775807 9223372036854775807
9.22337203685478e+18 9.22337203685478e+18 9.22337203685478e+18 9.22337203685478e+18
你必须使用字符串或blob。