代码之家  ›  专栏  ›  技术社区  ›  cja

如何格式化sqlite的日期和时间值?

  •  2
  • cja  · 技术社区  · 15 年前

    真不敢相信我一定要问这个。即使是谷歌也没用。

    我想这样做:

    insert into atable (adatefield,atimefield,adatetimefield) values (A,B,C);
    
    • Adatefield定义为日期
    • atimefield定义为时间
    • AdateTimeField定义为日期时间

    我该给A、B和C加什么?

    很高兴它是免费的,但是sqlite的文档很糟糕。

    1 回复  |  直到 13 年前
        1
  •  3
  •   Strahd_za    15 年前

    日期、时间和日期时间字段实际上都将存储日期时间,这取决于您在其中插入的内容,它们都将使用日期字符串。

    你可以

    insert into atable values("2010-11-16","14:12:22","2010-11-16 14:12:22");
    

    或者,您可以在所有字段中插入“2010-11-16 14:12:22”,然后用以下选项选择它们:

    select date(adatefield), time(atimefield), datetime(adatetimefield) from atable;
    

    但是,如果要确保字段只包含日期、时间或日期时间,并且要从变量插入,则可以

    insert into atable values(date(thedate),time(thedate),datetime(thedate));
    

    sqlites的无类型性使得一些事情变得非常容易,但是会混淆或使其他一些事情变得复杂。