sql - 将 Unixtime 转换为日期时间 SQL (Oracle)

标签 sql oracle unix-timestamp

我有一个日期时间字段(P_DT),我想返回 P_DT 大于输入 unix 时间戳的所有结果。

Oracle 是否有任何可以提供帮助的内置函数?

在我的搜索中,我找到了 DateTime 到 Unix 的结果,但没有 Unix 到 DateTime ...

最佳答案

没有内置函数。但是写一个相对容易。由于 Unix 时间戳是自 1970 年 1 月 1 日以来的秒数

CREATE OR REPLACE FUNCTION unix_ts_to_date( p_unix_ts IN NUMBER )
  RETURN DATE
IS
  l_date DATE;
BEGIN
  l_date := date '1970-01-01' + p_unix_ts/60/60/24;
  RETURN l_date;
END;

你可以看到被调用
SQL> select unix_ts_to_date( 1336822620 ) from dual;

UNIX_TS_TO_DATE(133
-------------------
2012-05-12 11:37:00

关于sql - 将 Unixtime 转换为日期时间 SQL (Oracle),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10554405/

相关文章:

c++ - 易于理解的两个UNIX时间戳之间的持续时间

mysql - 从 A 列中具有相同值的每组行中删除除 B 列中具有最高值的行之外的所有行

sql - 如何在 Apex 中单击按钮时强制刷新页面/元素?

mysql - 在单个查询中从 2 个表中选择

sql - 如何在oracle sql中找到<N>个连续的销售奖金

oracle - 发生错误时,如何在SQLPlus中退出脚本并返回到SQLPlus提示符,而不断开或退出SQLPlus?

php - 特定时间点的 MySQL 字段类型

php - 如何按时间戳计算在我的应用程序上花费的时间

java - SQL Server 在没有表锁的情况下使用多个连接更新表

c# - 在 ASP.NET MVC 中存储来自 3 DropDownListFor(日、月、年)的 DateTime