SQLite:作为整数和文本插入

时间:2017-06-13 06:42:19

标签: sqlite

鉴于我们有一个像

这样的简单表格
CREATE TABLE A(
  amount INTEGER
);

查询之间有什么区别

INSERT INTO A VALUES(4);

INSERT INTO A VALUES('12');

如架构中所示,amount是INTEGER列。第一个查询仅使用 - 整数,但第二个查询使用字符串' 12'进行操作。然而,两个查询都工作得很好,表得到值4和12,并且可以选择或者说,将它们正确地作为两个有效的整数求和:

SELECT sum(amount) AS "Total" FROM A;

正确地产生16。

将整数插入(4)并将其插入(' 12')到INTEGER类型列之间是否有区别?

1 个答案:

答案 0 :(得分:2)

在将值作为described in the manual插入表格之前,SQLite会尝试将您的String转换为整数。

  

列的类型亲缘关系是存储在该列中的数据的推荐类型。这里的重要思想是建议使用类型,而不是必需的。任何列仍然可以存储任何类型的数据。只是根据选择,某些列将优先使用一个存储类而不是另一个存储类。