SQL时间戳类型用于存储日期和时间,可使用 TIMESTAMP 或 DATETIME 数据类型定义。您可以提取时间组件(年份、月份等),比较时间戳,并使用 CURRENT_TIMESTAMP 更新时间戳。
SQL 中的时间戳类型
SQL 时间戳类型用于存储和表示日期和时间值,它非常适合记录事件发生或数据更新的时间。
用法
使用 TIMESTAMP 或 DATETIME 数据类型来定义一个时间戳列。TIMESTAMP 仅存储日期和时间,而 DATETIME 还包括秒以下的小数部分。
CREATE TABLE events ( id INT NOT NULL, event_time TIMESTAMP NOT NULL ); INSERT INTO events (event_time) VALUES (CURRENT_TIMESTAMP);
提取时间组件
您可以使用 SQL 函数提取时间戳的各个组件,例如:
-
YEAR(timestamp):返回年份 -
MONTH(timestamp):返回月份 -
DAY(timestamp):返回日期 -
HOUR(timestamp):返回小时 -
MINUTE(timestamp):返回分钟 -
SECOND(timestamp):返回秒
SELECT YEAR(event_time), MONTH(event_time), DAY(event_time), HOUR(event_time), MINUTE(event_time), SECOND(event_time) FROM events;
比较时间戳
您可以使用比较运算符来比较两个时间戳:
-
=:相等 -
!=:不相等 -
>:大于 :小于-
>=:大于等于 :小于等于
SELECT * FROM events WHERE event_time >= '2025-01-01' AND event_time <= '2023-01-31';
更新时间戳
要更新时间戳,可以使用 CURRENT_TIM 关键字或
ESTAMPNOW() 函数,它们都会返回当前的时间戳:
UPDATE events SET event_time = CURRENT_TIMESTAMP WHERE id = 1; -- 或 UPDATE events SET event_time = NOW() WHERE id = 1;








