Sqlite3数据库的timestamp类型的使用注意事项

Sqlite3数据库的timestamp类型的使用注意事项

在Sqlite3中可以使用timestamp时间戳类型记录时间,但是在使用中发现几个容易被坑的地方,记录一下。
1.日期时间格式
不管是查询还是插入,对于timestamp字段则SQL语句中的日期时间格式必须是这样:“yyyy-MM-dd HH:mm:ss”。比如:“2022-06-09 10:00:00”,这是正确的,但是不能写成”2022-6-9 10:0:0“。写错后查询不到任何结果。
2.timestamp查询是必须要经过本地时间转化,否则查询的时间是错误的,比如要查询从2022-6-19 10:0:0到2022-6-19 15:0:0秒的记录则Where语句应该这样写:
WHERE DateTime(HisTime,‘localtime’) >= DateTime(‘2022-06-19 10:00:00’,‘localtime’) AND DateTime(HisTime,‘localtime’) <= DateTime(‘2022-06-19 15:00:00’,‘localtime’)
还有个方法,就是建立字段时设置初始值:DEFAULT (datetime(‘now’,‘localtime’)),就是用本地时间作为字段初始值,插入记录时可以不插入此时间字段,由数据库引擎自己初始为本地当前时间。
这里记录一下几个主要事项,防止下次再出现错误。

你可能感兴趣的:(Linux编程,数据库开发)