数据库
首页 > 数据库> > mysql 将时间格式转为时间戳在排序代码怎么写?

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 
    id, 
    event_time, 
    UNIX_TIMESTAMP(event_time) AS timestamp
FROM 
    events
ORDER BY 
    timestamp DESC;

SQL

标签:
来源: