达梦迁移金仓数据库总结

1.MONTHS_BETWEEN(sysdate, '2016-06-16 13:45:58')

修改为:

DATEDIFF('month','2016-06-16 13:45:58',sysdate)

说明:修改时前后顺序要替换(后面减去前面),DATEDIFF用来计算日期相减,第一个参数代表日期类型,包括'year'、'month'、'day'、'hour'、'minute'、'second'、'ms'、'quarter'、'week'、'dayofyear'、'weekday'等。

2. year(now())

修改为:

DATEPART('year',now())

说明:与DATEDIFF类似,DATEPART第一个参数也可以是上面的内容。

3. add_days(last_day(ADD_MONTHS(sysdate,-12*5)),1)

修改为:

DATEADD('day',1,last_day(ADD_MONTHS(sysdate,-12*5)))

说明:金仓数据库支持ADD_MONTHS,不支持ADD_DAYS,与DATEDIFF类似,DATEADD 第一个参数也可以是上面的内容。

4. stuff(ID,7,1,'6')

修改为:

OVERLAY(ID PLACING '6' FROM 7 FOR 1)

说明:原来1,2,3,4四个位置在OVERLAY函数中变为1,4,2,3。

5. ceil(sysdate -RUN_DATE)/365)

修改为:

CEIL(DATEDIFF('day',RUN_DATE,sysdate)/365)

说明:金仓数据库CEIL函数内日期不能直接相减,用前面提到的DATEDIFF函数替换。

6. REGEXP_INSTR(MODEL_NAME,'\d|-|-|/|_')

修改为:

position(substring(MODEL_NAME from '\d|-|-|/|_') in MODEL_NAME)

说明:用position加substring函数替换REGEXP_INSTR函数。

7. TO_DATE((LAST_DAY(SUBSTR(V_STATS_DATE,1,4) || SUBSTR(V_STATS_DATE,5,6) || '-01')|| ' 23:59:59.999'), 'YYYY-MM-DD HH24:MI:SS')

修改为:

TO_DATE((LAST_DAY(SUBSTR(V_STATS_DATE,1,4) ||'-'|| SUBSTR(V_STATS_DATE,5,2) || '-01')|| ' 23:59:59.999'), 'YYYY-MM-DD HH24:MI:SS')

说明:下面比上面多一个||'-'||,V_STATS_DATE字段的内容为年月,例如'202106',年月之间应该加个'-',SUBSTR函数后面应该为5,2,上面写成5,6没有报错是因为数据只有6位,不会截取到后面的内容。

8. select LISTAGG(ONWTYPE_NAME,',') WITHIN GROUP(ORDER BY ONWTYPE_NAME),EVARED_ID from SG_PATR_JIT_REVALDETAILRECORD group by EVARED_ID;

修改为:

select STRING_AGG(ONWTYPE_NAME,','),EVARED_ID from SG_PATR_JIT_REVALDETAILRECORD group by EVARED_ID;

说明:用STRING_AGG函数替换LISTAGG函数。

  • 9
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值