繁体   English   中英

从Oracle到Postgres的日期兼容功能

Date compatible Function from Oracle to Postgres

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我正在尝试将以下定义转换为Postgres。

当前的Oracle代码:

PROCEDURE Run_All (inDate DATE DEFAULT SYSDATE) IS

在Postgres中,我使用了不同的版本:

  1.  CREATE OR REPLACE FUNCTION ssp2_pcat.gen_fios_xml$run_all (indate timestamp(0) DEFAULT CURRENT_DATE) 
  2.  CREATE OR REPLACE FUNCTION ssp2_pcat.gen_fios_xml$run_all (indate timestamp without timezone DEFAULT ('now'::text)::date) 
  3.  CREATE OR REPLACE FUNCTION ssp2_pcat.gen_fios_xml$run_all (indate date DEFAULT ('now'::text)::date) 
  4.  CREATE OR REPLACE FUNCTION ssp2_pcat.gen_fios_xml$run_all (indate timestamp(0) DEFAULT CURRENT_TIMESTAMP::timestamp(0)) 

但是仍然会引发如下错误:

ERROR:  column "timestamp" does not exist
LINE 1: SELECT TIMESTAMP
               ^
QUERY:  SELECT TIMESTAMP
CONTEXT:  PL/pgSQL function "gen_fios_xml$run_all"(date) line 13 during statement block local variable initialization
SQL state: 42703

什么是正确的转换方式,我在Postgres中缺少什么吗? 任何更新是绝对赞赏!

1 个回复

该错误不在显示的函数部分中,而是在SELECT语句中函数主体的第13行中。

您的函数签名应该可以工作,但是如果您需要Oracle DATE的小时部分,那么完美的翻译应该是:

CREATE FUNCTION ssp2_pcat.gen_fios_xml$run_all
    (indate timestamp(0) without time zone DEFAULT localtimestamp(0))
1 相当于Postgres中的Oracle日期

我正在尝试使用Postgres导入功能,但它在日期数据类型上给我一个错误。 我的Oracle数据库中具有以下格式的日期17-MAY-90 12.00.00.000000000 AM ,但是我需要将数据导入到Postgres数据库中。 我尝试使用带和不带时区的时间戳,但仍然给我一个错误消息 ...

2 使用Oracle语法从Postgres编写数组函数

在Postgres中,我会这样做: 在Oracle 10中如何做同样的事情? 应当指出,我不能使用listagg。 我找到了一个类似问题的答案: Oracle 10g中的聚合字符串连接我完全不知道此答案的工作方式,也不知道这是否真的是“正确的”解决方案,因为它从未被标记为已回答/接受 ...

5 需要将date_part从postgres转换为oracle

我在postgres中有一个查询: select date_part('week',CURRENT_DATE)此查询的结果是36。 我需要将相同的postgres查询转换为Oracle。 我该怎么做呢 ? 我尝试了以下查询,但得到的结果为5. 选择to_number(to_char(C ...

6 兼容 H2 和 Oracle DB 的日期比较

我必须用 SQL 比较两个日期。 我必须在 H2 和 Oracle 中用相同的句子来做。 我试过很多句子: 当CONTACT_END_DATE值为: 9999-12-31 ,H2 给我这个错误代码 -> [22018-170] 在 H2 中完美地工作: 但是在 Oracle 中不满 ...

7 从Oracle移植到Postgres

较早之前,我们的托管环境是在Oracle上运行的,但是现在,我们最近改用了postgres。 我相信移植表已经很成功了,因为它已经可以正常工作很长时间了。 我实际上一直在努力移植程序,但由于某种原因无法正常工作。 我浏览了ora2pg的文档部分,但无法破解,我相信这是最后的难题。 我 ...

8 从Oracle到Postgres [重复]

这个问题已经在这里有了答案: Oracle“(+)”运算符 4个答案 我们试图从Oracle迁移到Postgres。 我们使用ora2pg,但是此代码有错误: 我们在PU.USUA_C_USUARIO(+)上出错。 我们没有足够的经验来进行这种转换。 ...

9 在Postgres上使用日期汇总功能

我对SQL有点生疏,也许您可​​以在此查询上为我提供帮助。 我有用于票务系统的以下两个表(我省略了一些字段): 餐桌票 (外键,用于下一个表的ID) (和之前一样) 表ticket_messages 我需要查询关闭的票证,并计算出第一个消息creatio ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM