SQL:2016标准之新特性

文章目录

    • 行模式识别
    • 支持JSON对象
    • 多态表函数
    • 额外的分析功能

我在 CSDN 学院发布的 SQL 入门视频教程。

2016年12月14日,ISO/IEC发布了最新版本的数据库语言SQL标准(ISO/IEC 9075:2016)。从此,它替代了之前的ISO/IEC 9075:2011版本。

最新的标准分为9个部分:

  • ISO/IEC 9075-1 信息技术 – 数据库语言 – SQL – 第1部分:框架(SQL/框架)
  • ISO/IEC 9075-2 信息技术 – 数据库语言 – SQL – 第2部分:基本原则(SQL/基本原则)
  • ISO/IEC 9075-3 信息技术 – 数据库语言 – SQL – 第3部分:调用级接口(SQL/CLI)
  • ISO/IEC 9075-4 信息技术 – 数据库语言 – SQL – 第4部分:持久存储模块(SQL/PSM)
  • ISO/IEC 9075-9 信息技术 – 数据库语言 – SQL – 第9部分:外部数据管理(SQL/MED)
  • ISO/IEC 9075-10 信息技术 – 数据库语言 – SQL – 第10部分:对象语言绑定(SQL/OLB)
  • ISO/IEC 9075-11 信息技术 – 数据库语言 – SQL – 第11部分:信息与定义概要(SQL/Schemata)
  • ISO/IEC 9075-13 信息技术 – 数据库语言 – SQL – 第13部分:使用Java编程语言的SQL程序与类型(SQL/JRT)
  • ISO/IEC 9075-14 信息技术 – 数据库语言 – SQL – 第14部分:XML相关规范(SQL/XML)

SQL:2016中主要的新特性包括:

  • 行模式识别
  • 支持JSON对象
  • 多态表函数
  • 额外的分析功能

行模式识别

行模式识别(row pattern recognition)使用MATCH_RECOGNIZE子句指定一个匹配多行的模式(正则表达式),可以对这些匹配的行组进行过滤、分组和聚合操作。MATCH_RECOGNIZE支持两种形式:ONE ROW PER MATCH和ALL ROWS PER MATCH。

ONE ROW PER MATCH对于每次匹配返回单行摘要,而ALL ROWS PER MATCH对于每次匹配中的每一行数据返回一行输出。

行模式匹配可以用于分析时间序列数据,例如股票行情收录器日志或事件日志。

支持JSON对象

JSON对象由标签和数据组成。它为一些应用提供了极大的灵活性。SQL:2016提供了以下功能:

  • JSON对象的存储与检索
  • 将JSON对象表示成SQL数据
  • 将SQL数据表示成JSON对象

添加JSON对象的SQL支持允许将JSON数据与已有的应用进行集成。这样可以提高安全性,集成数据库事务,并提高开发者效率。

多态表函数

表函数是指返回结果为一个表的函数,多态表函数(Polymorphic Table Functions, PTF)是一种用户定义的函数,可以在FROM子句中使用。它们可以处理在定义时没有声明行的类型的表,也可以生成一个在定义时声明了或者没有声明行的类型的结果表。多态表函数允许开发人员利用动态SQL创建强大而复杂的自定义函数。

额外的分析功能

SQL:2016增加了额外的分析功能,包括三角函数和对数函数。增加的三角函数包括sincostansinhcoshtanhasinacos以及atan。对数函数包括一般对数函数(log(, ))、常用对数函数(log10())和自然对数函数(ln())。

这些分析函数支持在已有的SQL应用中进行复杂的计算,同时可以为以后的多维数组提供支持。

你可能感兴趣的:(SQL)