当前位置: 首页 > article >正文

orcal数据库与国产数据库 gabse 8a的数据库语法函数差异

orcal数据库与国产数据库 GBase 8a的数据库语法函数差异,工作中遇到的,仅作参考,有错误欢迎指正

orcal数据库与国产数据库 gabse 8a的数据库语法函数差异
语法或函数说明
rownumgbase没有rownum,如果设计到分页可以使用Limit,用作排序可使用row_number() over()代替,但gbase不支持connect by,涉及connect by需要对语句进行改写(修正:可支持connect by)
LISTAGG() WITHIN GROUP ()可用group_concat(column [order by] separator ‘,’) 代替
merge into只能用于Hash分布表,有涉及到此语法的表需要使用hash分布列,或者改写SQL语句,不使用merge into来完成需求,例如将查询和插入/更新分开
函数使用限制不支持函数里面涉及select查询语句
字段类型转换不确定性select * from table where type = 04 type为字符串类型,在这种情况下,gbase自动转换类型会转成’4’,其他非0数字可正常转换
嵌套查询在gbase中嵌套查询所有子表必须定义别名
NEXT_DAY()gbase不存在NEXT_DAY日期函数,需要对sql进行改写,修改统计方式,gbase涉及日期函数有:weekday()返回 date 对应的星期索引0-星期日。可使用此函数来确定一周的时间范围。
case when不支持case when中进行select
START WITH() CONNECT BY ()gbase中此语法只支持对复制表进行递归查询,且目前gbase版本不支持CTE语法,无法使用with as(),需要重写SQL或者把取数据的逻辑放代码层里(建议使用这个方案)。修正:可开启cte配置 如果表是复制表可用子查询解决报错(select * from (select * from t3) a connect by pid=prior id start with pid=0;)
sysdategbase中使用sysdate(),代码中全局替换此函数
to_date()函数严格匹配参数 to_date(‘20221010’, ‘YYYY-MM-DD’)会出错
pivot函数gbase不支持此函数
union/union all各union字段的类型要完全一致

http://www.kler.cn/a/591276.html

相关文章:

  • TF中 Arg 节点
  • RocketMq 顺序消息要怎么实现?
  • Python模块化设计 ——函数概念
  • HTML5扫雷游戏开发实战
  • 持续升级的电子实验记录本系统,更加好用、安全
  • Linux 命令:按内存使用大小排序查看 PID 的完全指南
  • Day19:把数字翻译成字符串
  • Android Fresco 框架工具与测试模块源码深度剖析(五)
  • 【Linux】进程间通信——共享内存
  • 从0到1彻底掌握Trae:手把手带你实战开发AI Chatbot,提升开发效率的必备指南!
  • vue3中用v-for循环出三个元素,绑定元素的ref并拿到这三个元素的ref属性
  • JavaScript 日期区间计算:全面解析与实战应用
  • 第一个vue项目
  • 工作记录 2017-02-06
  • Mysql 安装指南(小白入门)
  • 改变一生的思维模型【14】奥卡姆剃刀理论
  • 【408计算机网络-自顶向下-应用层】-简单描述概念PPT-中国科学技术大学-郑老师-计算机网络课程的深度复习资料
  • 台达PLC转太网转换的教程案例(台达DVP系列)
  • 【工业现场总线】控制网络的主要特点是?OSI参考模型的分层是?
  • C++与C的基本不同