7

我想将 NaN 值插入 SQLite 数据库。

我有带有 Id、StringColumn 和 DoubleColumn(不可为空)的 Ent 表,我尝试使用以下 SQL 语句:

INSERT INTO Ent (Id, StringColumn, DoubleColumn) VALUES (1, 'NaN test', ????)

我不知道用什么代替'????' 存储 NaN。

我正在使用 System.Data.SQLite 访问数据库 - 也许这也很重要?

4

4 回答 4

8

我问过 SQLite 的人如何处理这个问题:http ://system.data.sqlite.org/index.html/tktview/e06c4caff3c433c80616ae5c6df63fc830825e59 。他们添加了一个新的连接标志:“GetAllAsText”,现在可以存储 NaN 以及其他标志(Infinity、-Infinity)。

于 2013-06-20T11:31:03.047 回答
5

SQLite 是相当...松懈...关于数据类型。随意将“NaN”放入定义为“double”的列中。或“无限”。或“双”,就此而言。SQLite 不在乎。

于 2013-03-27T22:37:58.730 回答
2

SQLite 没有 NaN 值的文本表示。

在 SQL 中,特殊NULL的在计算中的行为相似,并且可以用于相同的目的。

于 2013-03-22T12:45:38.747 回答
2

我目前采用的技巧是当 null 不够或不允许时将 -Infinity 存储在 Real 列上(因为该列上有“not null”)。

于 2013-03-27T21:24:07.547 回答