SQLite3中TimeStamp的使用问题

前端之家收集整理的这篇文章主要介绍了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相关文章