如何在Flask的SQLite3架构中存储日期?

时间:2017-12-20 22:39:25

标签: python sqlite

我知道' datetime'不是SQLite的有效数据类型,但我不太清楚要替换它的内容。以下面的语句为例,我会像其他语句一样将其存储为文本吗?如果是这样,我将如何在以后操纵它作为日期?

drop table if exists entries;
create table entries (
  id integer primary key autoincrement,
  title text not null,
  'text' text not null,
  date_created 
);

1 个答案:

答案 0 :(得分:0)

  

我知道'datetime'不是SQLite的有效数据类型

SQLite的灵活性导致几乎任何列类型都有效,例如

CREATE TABLE weidrcolumntypes (column1 rumplestiltskin, column2 weirdtestcolumn, column3 etc)

有效,将创建一个包含3列(4列rowid列)的表格: -

enter image description here

SQLite的灵活性还允许任何值存储在任何列中(例外rowid,对于未使用WITHOUT ROWID定义的表,其中值必须为INTEGER)。

更全面的答案(标记为Android但原则仍然适用)是here

This may also be of interest

因此,简而言之,任何列类型都可以处理/存储日期时间。

  

以下面的语句为例,我会将其存储为文本   和其他人一样?

如上所述,即使您拥有的代码也可以使用。您可能希望指定列类型TEXTINTEGER

  

如果是这样,我将如何在日后操纵它?

至于存储日期时间,可以使用Integer,Long或String,后者具有免费Date And Time Functions

因此,您可以在查询中进行大部分与语言无关的操作。