SQL 时间戳转换成日期

在数据库中存储时间戳是很常见的,时间戳是一个长整型数字,代表从1970年1月1日 00:00:00 UTC到当前时间的秒数。虽然时间戳在计算机系统中使用很方便,但对于人类来说是难以理解的。因此在某些情况下,我们需要将时间戳转换成日期格式,以便更容易阅读和理解。
1. MySQL数据库中的时间戳转换
在MySQL数据库中,可以使用FROM_UNIXTIME函数将时间戳转换成日期格式。FROM_UNIXTIME函数接受一个整型参数,代表时间戳,返回对应的日期时间格式。
以下是一个简单的示例,假设我们有一个名为orders的表,其中存储了订单信息,包括订单创建时间的时间戳字段created_at:
SELECT FROM_UNIXTIME(created_at) AS order_date
FROM orders;
假设orders表中的created_at字段存储的时间戳为1625481923,运行以上SQL语句将会返回对应的日期时间格式:
order_date
-------------------
2021-07-05 15:12:03
2. PostgreSQL数据库中的时间戳转换
在PostgreSQL数据库中,可以使用 TO_TIMESTAMP 函数将时间戳转换成日期格式。 TO_TIMESTAMP 函数接受一个整型参数,代表时间戳,返回对应的日期时间格式。
以下是一个简单的示例,假设我们有一个名为 logs 的表,其中存储了日志信息,包括日志时间的时间戳字段 log_time:
SELECT TO_TIMESTAMP(log_time) AS log_date
FROM logs;
假设 logs 表中的 log_time 字段存储的时间戳为 1625482345,运行以上SQL语句将会返回对应的日期时间格式:
log_date
-------------------
2021-07-05 15:25:45
3. Oracle数据库中的时间戳转换
在Oracle数据库中,可以使用 TO_DATE 函数将时间戳转换成日期格式。 TO_DATE 函数接受两个参数,第一个参数是时间戳的字符串表示,第二个参数是时间戳的格式。
以下是一个简单的示例,假设我们有一个名为 logs 的表,其中存储了日志信息,包括日志时间的时间戳字段 log_time:
SELECT TO_DATE(TO_CHAR(log_time, 'YYYY-MM-DD HH24:MI:SS'), 'YYYY-MM-DD HH24:MI:SS') AS log_date
FROM logs;
假设 logs 表中的 log_time 字段存储的时间戳为 1625482810,运行以上SQL语句将会返回对应的日期时间格式:
log_date
-------------------
2021-07-05 15:36:50
结语
通过以上的介绍,我们学习了在MySQL、PostgreSQL和Oracle数据库中将时间戳转换成日期格式的方法。无论在哪种数据库中,我们都可以使用相应的函数来实现这一转换,使时间戳更容易被理解和阅读。
极客笔记