暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

DEV01-GBase 8a MPP Cluster SQL 编码进阶篇之内置函数01

原创 wiserhowe 2023-07-13
347

GBase 8a MPP Cluster SQL 编码进阶篇

一、概述:

        GBase 8a MPP Cluster(以下简称 8a 集群)具有联邦构架、大规模并行计算、海量数据压缩、高效存储结构、智能索引、虚拟集群及镜像、灵活的数据分布、完善的资源管理、在线快速扩展、高并发、高可用性、高安全性、易维护、高效加载等技术特征,
其结构化查询语言符合SQL 92、99标准,支持十大类将近300个实用的内置函数,完整的 DDL(建库建表语句)、DQL(查询语句)、DCL(授权语句)、DML(写语句) 语法集;
丰富的正则匹配函数和关键字,支持分区表查询、分层查询、common table expression、MERGR INTO 等语法。
        本章重点主题:
1、常用内置函数;
2、DQL 进阶;
3、DML 进阶;

二、常用内置函数

(一)函数体系

在这里插入图片描述
8a 集群有四大类函数:内置函数是内建在数据库引擎内的SQL类函数;存储程序是扩展的SQL类函数;UDF 和 UDAF 是 C/C++ 编写的扩展函数,其中 UDF 还可以使用 Python 语言编写。UDF 和 UDAF 函数最适合的开发人员是:对 GBASE 数据库非常熟悉的南大通用研发工程师。存储程序、内置函数是数据分析工程师需要掌握的。

(二)内置函数的基本概念:

内置函数是在 SQL 语句中使用的、内置(Built-In)在数据库引擎中的函数。
1、十大类、将近三百个内置函数,大大简化数据处理过程。
2、内置函数直接在SQL文中使用。
3、内置函数Built-In 在数据库引擎内部:支持多线程并行计算。
4、内置函数名称全局唯一,任何数据库标识符不能与之重名。

(三)内置函数的使用位置:

SELECT 的投影列,或在 WHERE 子句的条件表达式中。这里的 WHERE 子句可以从属于 Insert、Delete、Update 语句。
内置函数还可以出现在 GROUP BY子句、HAVING子句、JOIN条件中。在 GROUP BY 和 JOIN 条件中出现内置函数对于性能影响是比较明显的。HAVING子句中出现的内置函数一般是聚合函数,比如 HAVING SUM( {数值型的列} )>100。

(四)内置函数概览
函数分类 关键字
数学函数 ABS、CEIL、FLOOR、MOD、POWER、ROUND……
日期和时间函数 NOW、SYSDATE、DAY、ADD_MONTHS、LAST_DAY、NEXT_DAY……
字符串处理函数 UPPER、REPLACE、CONCAT、SUBSTRING……
转换函数 CAST、CONVERT、TO_NUMBER、TO_CHAR、TO_DATE……
控制流函数 CASE…WHEN…ELSE…END、DECODE、IF、IFNULL、NULLIF
正则表达式函数 regexp_like、regexp_replace、regexp_instr、regexp_substr
聚合函数 AVG、COUNT、MAX、MIN、SUM、GROUP_CONCAT……
OLAP 函数 COUNT OVER,GROUP BY CUBE、SUM OVER、RANK…
加密函数 AES_ENCRYPT、ENCRYPT、MD5、SHA1、SHA
信息函数 CHARSET、COLLATION、CURRENT_USER、DATABASE、VERSION…

OLAP 函数在专门的章节讲解。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论