SQLite 日期 & 时间学习笔记

SQLite 是一个轻量级的关系型数据库,它支持多种日期和时间数据类型,在处理日期和时间数据时非常方便。本文将介绍 SQLite 的日期和时间数据类型以及如何在 SQL 中使用它们。

数据类型

在 SQLite 中,有三种主要的日期和时间数据类型:

  • TEXT:存储格式为 YYYY-MM-DD HH:MM:SS 的文本字符串
  • REAL:以自 UTC 时间 1970 年 1 月 1 日(称为 Unix 时间戳)起经过的秒数来存储日期和时间
  • INTEGER:以自 UTC 时间 1970 年 1 月 1 日起经过的毫秒数来存储日期和时间

SQLite 支持的日期和时间函数可以用于处理任意一种日期时间数据类型。

示例

以下是一些 SQLite 中使用日期和时间数据类型的示例:

1. 创建表时指定日期时间字段的类型

Copy Code
CREATE TABLE my_table ( id INTEGER PRIMARY KEY, date_time TEXT );

2. 插入日期时间数据

Copy Code
INSERT INTO my_table (date_time) VALUES ('2023-06-05 05:36:23');

3. 查询日期时间数据

Copy Code
SELECT * FROM my_table WHERE date_time = '2023-06-05 05:36:23';

4. 使用日期时间函数

Copy Code
-- 返回当前日期和时间 SELECT datetime('now'); -- 返回指定时间的 Unix 时间戳 SELECT strftime('%s', '2023-06-05 05:36:23'); -- 返回指定时间的毫秒数 SELECT strftime('%s', '2023-06-05 05:36:23') * 1000;

总之,SQLite 中的日期和时间数据类型和函数使得处理日期和时间数据变得非常方便。