更新时间:2024-12-06 GMT+08:00

聚合函数

表1 聚合函数列表

MySQL数据库

GaussDB数据库

差异

GROUP_CONCAT()

支持,存在差异

  • 当group_concat参数中同时有DISTINCT和ORDER BY语法时,所有ORDER BY后的表达式必须也在DISTINCT的表达式之中。
  • group_concat(... order by 数字)不代表按照第几个参数的顺序,数字只是一个常量表达式,相当于不排序。
  • 无论入参的数据类型是什么,group_concat返回值的数据类型始终为text;MySQL的group_concat在含有二进制类型参数时,返回值为二进制类型,其他情况返回值为字符串类型,并且返回值长度大于512时,其数据类型为字符串大对象或二进制大对象。
  • GUC参数group_concat_max_len有效范围是0-1073741823,最大值比MySQL小。

DEFAULT()

支持,存在差异

  • 字段默认值为数组形式,GaussDB返回数组形式,MySQL不支持数组类型。
  • GaussDB字段是隐藏列(比如xmin、cmin),default函数返回空值。
  • GaussDB支持分区表、临时表、多表连接查询默认值。
  • GaussDB支持查询列名包含字符串值节点(表示名称)和A_Star节点(表示出现“*”),如default(tt.t4.id)和default(tt.t4.*)。不合法的查询列名和A_Star节点,GaussDB和MySQL报错信息有差异。
  • GaussDB创建字段默认值,没有检验字段类型的范围,使用default函数可能报错。
  • 字段的默认值是函数表达式时,GaussDB的default函数返回建表时字段的default表达式的计算值。MySQL的default函数返回NULL。