关于人大金仓(kingbase)数据库一个坑

公司最近在做国产化改造,遇到一个问题挺坑的,记录一下 避免以后再踩。

问题是POWER函数,作用:POWER(a,b), 返回 a的b次方。

直接上图看执行结果:
mysql:
在这里插入图片描述
人大金仓:
在这里插入图片描述

可以看出来同样的一条sql结果是不一样的,原因是在Kingbase(人大金仓)中,他的一些规则和java有点像,比如 这里的1/3,因为是两个INTEGER类型做运算,所以他的结果为0,而任何数的0次方都为1,所以kingbase的power函数里,后面一个数不能直接写1/3,写为1.0/3.0就可以了。

在这里插入图片描述
当然,还有很多语法都是不一样的,只不过在kingbase中如果和mysql语法不兼容的时候基本都会有报错信息帮助排查,而这个是没有错误信息也可以正常运算的,只不过计算结果不同,相当于数据问题了,所以排查会费些时间。

总结:
其实这个问题并不难,只是因为惯性思维导致排查起来容易忽略一些东西,在开发中我们经常会说的一句话是两边都是一模一样的,怎么一个行一个不行,肯定是环境问题或者软件问题而不去处理,但其实根本原因还是对于新事物了解还不够(当然,kingbase在网上能搜到的东西着实也有限。。),主要还是想说思维不能太局限,当发现原来的经验行不通的时候,也正好是进步的时候。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值