内置功能和随附功能 Db2

函数是由函数名和括号内零个或多个输入值组成的操作。 它代表一组输入值和一组结果值之间的关系。 函数的输入值称为参数内置函数包括运算符函数(如“+”)和聚合函数(如AVG),以及标量函数(如SUBSTR),而用户定义的函数则使用CREATE FUNCTION语句创建,并注册到目录中的 Db2Db2 提供了一些用户自定义功能。

函数类型包括聚合函数、标量函数和表函数。 内置函数分为聚合函数、标量函数或表函数。 用户自定义函数可以是标量函数或表函数。

如果使用列掩码来隐藏最终结果表中的列值,并且将列掩码应用于作为函数参数的列,则函数的计算结果可能会有所不同,因为列掩码是在函数运算之前应用于列的。 例如,对列 SSN 应用列掩码可以改变聚合函数 COUNT(DISTINCT SSN) 的结果。

DISTINCT操作在未屏蔽的列值上执行。 关键词DISTINCT不是函数的参数,而是函数应用前执行的操作说明。 如果指定了“DISTINCT”,则在应用列掩码之前,会删除冗余重复值。 如果带有DISTINCT关键字的聚合函数中的列具有列掩码定义,且该定义引用了非分组列以及非DISTINCT操作的目标列,则聚合函数的结果可能会有所不同。 Db2 不保证每次执行时从一组重复项中返回的行相同,因此,返回的行中那些非DISTINCT/非分组列中的值每次都可能不同。

OLAP规范和内置功能

RANK、DENSE_RANK和ROW_NUMBER规范有时被称为内置函数。 如需了解这些规格的更多信息,请参阅 OLAP规格

随附的用户自定义功能 Db2

用户自定义函数是指使用CREATE FUNCTION语句创建并注册到目录中 Db2 的函数。 Db2 提供了一些用户自定义功能。 以下是一些用户自定义函数示例:

  • 管理任务调度程序功能,提供使用管理任务调度程序运行的任务的信息和状态。 管理任务调度程序能够根据时间或基于事件的日程安排运行存储的程序、JCL作业和其他管理任务。 更多信息,请参阅 “管理任务计划 ”。
  • 更改开始BLOCKING_THREADS表功能可以帮助您识别可能与目录迁移和更新不兼容的应用程序、活动和 Db2 资源,以便您事先采取适当措施,最大程度降低迁移失败的可能性。 有关更多信息,请参阅识别与在线迁移不兼容的应用程序BLOCKING_THREADS 表函数更改结束
  • Db2 MQ 功能,帮助您将 IBM® MQ 消息与数据库应用程序集成。 您可以使用这些功能从SQL语句中访问 IBM MQ 消息,并将 IBM MQ 消息与 Db2 数据库访问相结合。 有关使用 IBM MQ 功能的更多信息,请参阅启用 IBM MQ 功能的信息 (启用 IBM MQ 用户自定义功能的附加步骤 )以及 IBM MQ 与 Db2 编程技术。

用户自定义函数位于其注册的架构中。 一般提供的用户自定义功能具有不同于 SYSIBM 的架构。