我正在尝试在SQL中创建一些存储过程来访问Oracle数据库。
Oracle中的所有日期都存储为10位数字,这会造成一些混淆。
我设计了一些动态SQL,它允许我们运行OPENQUERY来选择参数,但我想要做的是使用参数来指定日期。
由于我们无法在服务器上创建视图,因此我们无法在服务器上创建视图,这很难证明这一点。
示例:
Oracle 10 : 1483527061
SQL Date : 2017/01/04 10:51:01 000
如果您需要更多信息,请与我们联系。
答案 0 :(得分:0)
Oracle中的日期/时间看起来像Unix格式。如果是这样,你可以这样做:
select date '1970-01-01' + datecol / (60*24*24)
这会将其转换为Oracle中的日期。
答案 1 :(得分:0)
Oracle安装程序:
CREATE TABLE your_table ( datecol ) AS
SELECT 1483527061 FROM DUAL;
<强>查询强>:
SELECT datecol,
DATE '1970-01-01' + NUMTODSINTERVAL( datecol, 'SECOND' ) AS datetime
FROM your_table
<强>输出强>:
DATECOL DATETIME
---------- -------------------
1483527061 2017-01-04 10:51:01
(如果你需要处理闰秒,那么你可以create a package to handle this。)