mysql 将时间格式转为时间戳在排序代码怎么写?
作者:互联网
示例表结构
假设我们有一个表 events
,其中有一个 event_time
列,格式为 DATETIME
:
CREATE TABLE events (
id INT AUTO_INCREMENT PRIMARY KEY,
event_time DATETIME,
event_name VARCHAR(255)
);
SQL
插入示例数据
INSERT INTO events (event_time, event_name) VALUES
('2023-10-01 08:00:00', 'Event A'),
('2023-10-02 09:30:00', 'Event B'),
('2023-10-01 12:15:00', 'Event C'),
('2023-10-03 15:00:00', 'Event D');
SQL
将时间格式转为时间戳并排序
要将 event_time
转换为时间戳,并按时间戳进行排序,可以使用以下查询:
SELECT
id,
event_time,
UNIX_TIMESTAMP(event_time) AS timestamp
FROM
events
ORDER BY
timestamp;
SQL
说明
- 在
SELECT
语句中,使用UNIX_TIMESTAMP(event_time)
进行时间格式到时间戳的转换,并将结果命名为timestamp
。 - 使用
ORDER BY timestamp
进行排序,默认是升序排序。
降序排序
如果希望按时间戳降序排序(从最新的时间到最旧的时间),可以这样写:
SELECT
id,
event_time,
UNIX_TIMESTAMP(event_time) AS timestamp
FROM
events
ORDER BY
timestamp DESC;
SQL
标签: 来源: