SQL CHECKSUM_AGG()函数
校验和返回一个值,该值指示输入值是否随时间改变。校验和有助于识别自上次操作以来值是否发生了更改。此外,SQL包含了一个名为CHECKSUM AGG的函数,用于验证单个或一组值。
SQL CHECKSUM_AGG() 函数返回由给定表达式指定的列的校验和值。它对所有列值求和并计算校验和。如果行或行随时间变化,校验和将相应地改变,表明列中的值发生了改变。CHECKSUM_AGG()函数忽略null值。我们可以使用OVER子句和此函数一起使用。此函数仅适用于数字列。
此函数还允许使用两个可选修饰符ALL和DISTINCT。如果使用ALL,则此函数计算所有值的聚合。如果使用DISTINCT,则此函数返回唯一且非null值的数量。
语法
以下是SQL CHECKSUM_AGG() 函数的语法-
参数
- expression −一个整数表达式。checksum_agg()不允许使用聚合函数或子查询。
示例
在下面的示例中,我们使用SQL CHECKSUM_AGG()函数来检测客户表的AGE列中的更改。
使用CREATE语句,我们创建了一个名为customers的表−
表格存储了ID、NAME、AGE、ADDRESS和SALARY。现在我们正在使用INSERT语句向customers表中插入7条记录。
下面的SQL查询显示了客户表 –
下面的SQL查询显示在age列被更新之后的原始校验和值和更新后的校验和值。−
输出
以下是上述SQL查询的输出结果−
示例
在下面的示例中,通过将DISTINCT作为参数之一传递给checksum_agg()函数,对不同的整数值调用该函数。
输出
以下是上述SQL查询的输出结果 –
示例
在下面的示例中,我们使用SQL的CHECKSUM_AGG()函数来检测客户表的SALARY列中的变化。CHECKSUM_AGG()函数始终接受整数类型的列。由于salary列包含小数数据类型,我们必须将其转换为INT。
以下SQL查询显示了SALARY的原始和修改后的校验和 –
输出
以下是上述SQL查询的输出结果-