mysql 将时间转换成时间戳

本文介绍如何使用SQL查询将日期时间格式转换为UNIX时间戳。通过示例说明,展示从数据库中特定字段获取时间戳的方法。
select  UNIX_TIMESTAMP(addtime/*date_column*/) from tablename
输出:1548658912
数据库原格式:2019-01-28 15:01:20

 

转载于:https://www.cnblogs.com/loveMis/p/10338237.html

### 日期转换为时间戳MySQL 中,若需要将日期(`DATE`)或日期时间(`DATETIME`)字段转换为 Unix 时间戳,可以使用 `UNIX_TIMESTAMP()` 函数。该函数将日期时间转换为自 `1970-01-01 00:00:00 UTC` 以来的秒数,适用于日志记录、时间差计算等场景。 例如,将 `DATE` 类型字段转换为时间戳: ```sql SELECT UNIX_TIMESTAMP(CAST('2024-08-24' AS DATETIME)) AS date_to_timestamp; ``` 此语句首先通过 `CAST('2024-08-24' AS DATETIME)` 将字符串转换为 `DATETIME` 类型(默认时间部分为 `00:00:00`)[^1],再使用 `UNIX_TIMESTAMP()` 函数将其转换为 Unix 时间戳。 若字段本身为 `DATETIME` 类型,则可以直接转换为时间戳: ```sql SELECT UNIX_TIMESTAMP(create_time) AS timestamp_value FROM your_table; ``` 此查询将 `create_time` 字段(假设为 `DATETIME` 或 `TIMESTAMP` 类型)转换为 Unix 时间戳输出。 若字段为 `DATE` 类型,则需先转换为 `DATETIME` 再进行时间戳转换: ```sql SELECT UNIX_TIMESTAMP(CAST(your_date_column AS DATETIME)) AS date_to_timestamp FROM your_table; ``` 此方式确保 `DATE` 类型字段在转换时包含完整的时间信息(默认为 `00:00:00`)[^1]。 ### 时间戳转换为日期 若需将 Unix 时间戳转换回 `DATETIME` 类型,可使用 `FROM_UNIXTIME()` 函数: ```sql SELECT FROM_UNIXTIME(1724505600) AS timestamp_to_datetime; ``` 该语句将时间戳 `1724505600` 转换为对应的日期时间格式 `2024-08-24 00:00:00`。 ### 示例:结合 WHERE 子句过滤时间范围 若需查询最近一年的数据,并且字段为 `DATE` 类型,可以结合 `UNIX_TIMESTAMP()` 与 `CURDATE()` 进行比较: ```sql SELECT * FROM your_table WHERE UNIX_TIMESTAMP(CAST(your_date_column AS DATETIME)) >= UNIX_TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 1 YEAR)); ``` 此查询将 `DATE` 类型字段转换为时间戳后,筛选出在过去一年内的记录。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值