例如,是否存在与tsrange
或daterange
(或PostgreSQL中实际上可用的range types中的任何一个)等效的数据类型。 sqlite?
如果没有,最好的解决方法是什么?
答案 0 :(得分:0)
抱歉,SQLite中只有5种数据类型:https://www.sqlite.org/datatype3.html
NULL,INTEGER,REAL,TEXT和BLOB。还有NUMERIC。
正如@ a_horse_with_no_name所提到的,“通常,您将使用存储该范围的开始和结束值的两列类型”。如果要定期进行数据库计算,这确实有些棘手。但是,这些资源可能以run-time loadable extension的形式出现。
通常,您将使用两列该类型的列来存储范围的开始和结束值。 – 42分钟前a_horse_with_no_name
要谨慎;对于每种数据类型,SQLite都可以接受:
SQLite使用更通用的动态类型系统。在SQLite中, 值的数据类型与值本身而不是与其值相关联 容器。 SQLite的动态类型系统向后兼容 与其他数据库引擎中更常见的静态类型系统 在静态类型的数据库上工作的SQL语句的意义 在SQLite中应该以相同的方式工作。但是,动态输入 SQLite允许它做传统上不可能的事情 严格类型的数据库。
这意味着您可以在整数字段中引发文本;如果文本是整数,那很好。如果不是,那很好。它将被存储并在检索时返回给您。区别在于,如果可以将其转换为整数,则它将是,并且您将返回整数。如果无法转换,将返回一个文本字符串。这可以使使用SQLite数据库进行编程变得有趣。