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 >= '2023-01-01' AND event_time <p><strong>更新时间戳</strong></p><p>要更新时间戳,可以使用 CURRENT_TIMESTAMP 关键字或 NOW() 函数,它们都会返回当前的时间戳:</p><pre class="brush:php;toolbar:false">UPDATE events
SET event_time = CURRENT_TIMESTAMP
WHERE id = 1;
-- 或
UPDATE events
SET event_time = NOW()
WHERE id = 1;