SQLite3中TimeStamp的使用问题
2016-05-15 22:12
441 查看
转自: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')));
在使用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')));
相关文章推荐
- SQLite一条SQL语句插入多条记录
- Spark SQL简单操作演示(含导出表)
- solr导入数据库数据
- Hibernate 调用mysql
- mysql修改密码
- 学习MongoDB 九: MongoDB聚合(单一用途的聚合方法)(一)
- MySql是怎么使用的索引,在哪些情况下会使用到索引
- Oracle试卷02
- VS2010 ENTITY FRAMEWORK6 SQLite3 安装搭建环境
- MySQL的基本知识 -- 命令
- Oracle试卷01
- MySQL多表SQL查询
- oracle中的数据类型
- PLSQL练习
- Oracle闪回开启及操作
- Memcache和Redis对比
- Oracle 中的 TO_DATE 和 TO_CHAR 函数 日期处理
- MySQL常用函数示例
- 数据库性能优化
- Oracle 身份验证方式