开发者社区> 萧少聪scott> 正文

Oracle迁移到PPAS(PostgreSQL)时的日期计算问题

简介: Oracle中两个日期相减会得到NUMBER类型返回,而在PPAS中同样操作返回的是INTERVAL,通过构建一个函数可以解决此问题。
+关注继续查看

术语

  • ApsaraDB for RDS(PPAS),以下简称PPAS

PPAS与Oracle的日期计算结果对比

PPAS:

ppas=# SELECT TO_DATE('20140319 121212','yyyymmdd hh24miss') - TO_DATE('20140522 232323','yyyymmdd hh24miss') FROM dual;
      ?column?      
--------------------
 -64 days -11:11:11
(1 row)

Oracle:

SQL> SELECT TO_DATE('20140319 121212','yyyymmdd hh24miss') - TO_DATE('20140522 232323','yyyymmdd hh24miss') FROM dual;

TO_DATE('20140319121212','YYYYMMDDHH24MISS')-TO_DATE('20140522232323','YYYYMMDDH
--------------------------------------------------------------------------------
                                    -64.4661

解决方案

ppas=# CREATE OR REPLACE FUNCTION interval2number (
    p1    INTERVAL
) RETURN NUMBER
IS
BEGIN
    RETURN EXTRACT(EPOCH FROM p1 / 60 / 24) /60 ;
END;

ppas=# SELECT interval2number(TO_DATE('20140319 121212','yyyymmdd hh24miss') - TO_DATE('20140522 232323','yyyymmdd hh24miss')) FROM dual;
interval2number
--------------------------------------------------------------------------------
                                    -64.4660995333333

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
程序从MYSQL迁移ORACLE注意事项之二
程序从MYSQL迁移ORACLE注意事项之二         程序从Mysql迁移到Oracle的时候,需要注意到以下几个地方:      4. 长字符串的处理   长字符串的处理ORACLE也有它特殊的地方。
894 0
Oracle 中关于 Between and 日期边界问题
之所以会写日期边界范围的问题,是因为我在查询日期的时候,刚开始数据都能正常获取,但是突然有些数据获取不到。经过一番折腾发现, Oracle 在对日期格式的字段进行查询时,会对字符串进行了隐式转换。 以下就是错误的查询语句 -- create_time 的时间为 2019/3/26 23:00:00 SELECT * FROM T_CLASS T WHERE T.
5290 0
SpringCloud迁移至EDAS微服务——Series2:在 ECS 集群中部署 Web 应用
SpringCloud迁移至EDAS微服务——Series2:在 ECS 集群中部署 Web 应用
1794 0
Gmail宕机 备份问题成云计算新题
本文讲的是Gmail宕机 备份问题成云计算新题,周二的Gmail宕机事件不仅给用户带来了不便,还再次引发了用户对于云计算可行性的担忧。一种比较流行的说法是,今后的电脑无需大容量硬盘,因为所有的应用和个人数据(包括图片、视频、文档和电子邮件)都将被存储于远程服务器中,这也就是所谓的“云计算”。
1205 0
+关注
萧少聪scott
Postgres中国用户会2016年主席
23
文章
4
问答
来源圈子
更多
阿里云数据库:帮用户承担一切数据库风险,给您何止是安心!支持关系型数据库:MySQL、SQL Server、PostgreSQL、PPAS(完美兼容Oracle)、自研PB级数据存储的分布式数据库Petadata、自研金融级云数据库OceanBase支持NoSQL数据库:MongoDB、Redis、Memcache更有褚霸、丁奇、德哥、彭立勋、玄惭、叶翔等顶尖数据库专家服务。
+ 订阅
相关文档: 云数据库 OceanBase 版 可信账本数据库 云原生关系型数据库 PolarDB PostgreSQL引擎
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载