tsrange或daterange的sqlite?

时间:2019-01-11 08:08:04

标签: sqlite date-range range-types

例如,是否存在与tsrangedaterange(或PostgreSQL中实际上可用的range types中的任何一个)等效的数据类型。 sqlite?

如果没有,最好的解决方法是什么?

1 个答案:

答案 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数据库进行编程变得有趣。