oracle - Oracle 中的 Sybase 等效项

标签 oracle sybase

我正在将代码从 Sybase 更改为 Oracle。 我在将以下查询转换为 oracle 时遇到问题。

Select Custodian_addr,convert(datetime,dateadd(ss,CreateDT,"01/01/1970")

这里的 CreateDT 是列名,例如它的值为 1015015173 日期转换的结果(对于本例)是 2002 年 3 月 1 日晚上 8:39 GMT

我研究并找到了导致错误的 oracle 替代方案

Select Custodian_addr,to_char(CreateDT,"SS")

我在 Oracle 中收到查询错误。我无法确定问题所在。由于我在 Perl 中执行此操作 ["] 必须转义或者可能是什么问题?请给我建议一个解决方案

最佳答案

SELECT 'some address' as custodian_addr, 
  date '1970-01-01' + 1015015173/86400 as create_dt
 from dual
/

CUSTODIAN_AD CREATE_DT
------------ -------------------
some address 2002-03-01 20:39:33

Oracle 日期算法非常简单——将日期加 1 会增加 1 天。因此,由于该数字是秒,因此将其除以 86400 (60*60*24) 将该数字转换为天数(及其分数)。

关于oracle - Oracle 中的 Sybase 等效项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5476729/

相关文章:

linux - 无法连接到 Sybase 服务器

ftp - 如何在不尝试加载的情况下验证 Sybase 转储文件的完整性?

stored-procedures - 在 Sybase ASE 15.0 中处理从一个存储过程到另一个存储过程的错误

Java - jdbc多列选择方法

node.js - ORA-01036 : illegal variable name/number when running query through nodejs

SQL: group by, order by 和 concat 结果

sql - 为什么这个 sybase 错误会随着查询的任何更改而消失?

c# - 如何将 C# 中的文本框值插入到 Oracle 数据库中

oracle - 从带有时区的时间戳中提取本地小时

sql - PLSQL Insert into with 子查询和返回子句