SQLite3中TimeStamp的使用问题

    技术2022-05-20  56

    SQLite3中TimeStamp的使用问题

    源自:http://www.cnblogs.com/GDLMO/archive/2010/07/19/1780920.html

     

    在使用SQLite3时使用了TimeStamp,但是遇到一些问题,现总结如下:

    一、我的SQL语句

    CREATE TABLE Logs([ID] INTEGER PRIMARY KEY,[IDCardNo] VARCHAR (50),[CreatedTime] TimeStamp NOT NULL DEFAULT CURRENT_TIMESTAMP);

     

    INSERT INTO Logs([IDCardNo]) VALUES('11111111'); 

     

    二、在使用SELECT时遇到的问题

    select * from  Logs 得到的结果如下

    ID IDCardNo CreatedTime 2  11111111 2010-7-19 11:45:41

    正确的结果应该如下:

    ID IDCardNo CreatedTime 2             11111111 2010-7-19 19:45:30

     在网上查找了一下,发现是时区不对造成的,请参见CURRENT_TIMESTAMP is in GMT, not the timezone of the machine

     正确的方法应该如下:

     select IDCardNo,Datetime(CreatedTime,'localtime') from logtable

     

    或可以这样创建数据库表

     CREATE TABLE Logs([ID] INTEGER PRIMARY KEY,[IDCardNo] VARCHAR (50),[CreatedTime] TimeStamp NOT NULL DEFAULT (datetime('now','localtime')));


    最新回复(0)