最近在工作中碰到了一个需求:需要将Oracle数据库中的时间戳转换成年月日时分秒的格式。

在查阅了相关文档、博客和资料后,实现了该需求,现在进行了总结,避免以后忘记。

-- 需求:将时间戳: 1631235067000 --> "年月日时分秒"格式
-- 1. 将时间戳转换为"年"
SELECT
 TO_CHAR(时间戳字段 / (1000 * 60 * 60 * 24) + TO_DATE('1970-01-01 08:00:00', 'YYYY-MM-DD HH24:MI:SS'), 'YYYY')
FROM 表名

-- 2. 将时间戳转换为"年-月"
SELECT
 TO_CHAR(时间戳字段 / (1000 * 60 * 60 * 24) + TO_DATE('1970-01-01 08:00:00', 'YYYY-MM-DD HH24:MI:SS'), 'YYYY-MM')
FROM 表名

-- 3. 将时间戳转换为"年-月-日"
SELECT
 TO_CHAR(时间戳字段 / (1000 * 60 * 60 * 24) + TO_DATE('1970-01-01 08:00:00', 'YYYY-MM-DD HH24:MI:SS'), 'YYYY-MM-DD')
FROM 表名

-- 4. 将时间戳转换为"年-月-日 时:分:秒"
SELECT
 TO_CHAR(时间戳字段 / (1000 * 60 * 60 * 24) + TO_DATE('1970-01-01 08:00:00', 'YYYY-MM-DD HH24:MI:SS'), 'YYYY-MM-DD HH:MM:SS')
FROM 表名

更多推荐

Oracle数据库将时间戳转换成年月日时分秒格式