SQLite3中TimeStamp的使用问题

在使用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,[CreatedTime] TimeStamp NOT NULL DEFAULT (datetime('now','localtime')));

相关文章

SQLite架构简单,又有Json计算能力,有时会承担Json文件/RES...
使用Python操作内置数据库SQLite以及MySQL数据库。
破解微信数据库密码,用python导出微信聊天记录
(Unity)SQLite 是一个软件库,实现了自给自足的、无服务器...
安卓开发,利用SQLite实现登陆注册功能