我想将 NaN 值插入 SQLite 数据库。
我有带有 Id、StringColumn 和 DoubleColumn(不可为空)的 Ent 表,我尝试使用以下 SQL 语句:
INSERT INTO Ent (Id, StringColumn, DoubleColumn) VALUES (1, 'NaN test', ????)
我不知道用什么代替'????' 存储 NaN。
我正在使用 System.Data.SQLite 访问数据库 - 也许这也很重要?
我想将 NaN 值插入 SQLite 数据库。
我有带有 Id、StringColumn 和 DoubleColumn(不可为空)的 Ent 表,我尝试使用以下 SQL 语句:
INSERT INTO Ent (Id, StringColumn, DoubleColumn) VALUES (1, 'NaN test', ????)
我不知道用什么代替'????' 存储 NaN。
我正在使用 System.Data.SQLite 访问数据库 - 也许这也很重要?
我问过 SQLite 的人如何处理这个问题:http ://system.data.sqlite.org/index.html/tktview/e06c4caff3c433c80616ae5c6df63fc830825e59 。他们添加了一个新的连接标志:“GetAllAsText”,现在可以存储 NaN 以及其他标志(Infinity、-Infinity)。
SQLite 是相当...松懈...关于数据类型。随意将“NaN”放入定义为“double”的列中。或“无限”。或“双”,就此而言。SQLite 不在乎。
SQLite 没有 NaN 值的文本表示。
在 SQL 中,特殊NULL
的在计算中的行为相似,并且可以用于相同的目的。
我目前采用的技巧是当 null 不够或不允许时将 -Infinity 存储在 Real 列上(因为该列上有“not null”)。