• 相关软件
    >CHECKSUM_AGG 创建者:webmaster 更新时间:2006-02-16 15:51

    返回组中值的校验值。空值将被忽略。



    语法


    CHECKSUM_AGG ( [ ALL | DISTINCT ] expression )



    参数


    ALL



    对所有的值进行聚合函数运算。ALL 是默认设置。



    DISTINCT



    指定 CHECKSUM_AGG 返回唯一值的校验值。



    expression



    常量、列或函数以及数字、位运算和字符串运算符的任意组合。expression 是一个 int 数据类型的表达式。不允许进行聚合函数运算和子查询。



    返回类型


    将所有 expression 值的校验值作为 int 返回。



    注释


    CHECKSUM_AGG 可与 BINARY_CHECKSUM 一起使用以检测表中的更改。



    表中行的顺序不影响 CHECKSUM_AGG 的结果。此外,CHECKSUM_AGG 函数还可与 DISTINCT 关键字和 GROUP BY 子句一起使用。



    如果表达式列表中的某个值发生变化,那么列表的校验值通常也会变化。但只在极少数情况下,校验值会保持不变。



    CHECKSUM_AGG 与其它聚合函数具有相似的功能。有关更多信息,请参见聚合函数



    示例


    A. 使用带有 BINARY_CHECKSUM 的 CHECKSUM_AGG 检测表中的更改。


    下面的示例使用带有 BINARY_CHECKSUM 函数的 CHECKSUM_AGG 检测 Products 表中的更改。



    USE Northwind
    GO
    SELECT   CHECKSUM_AGG(BINARY_CHECKSUM(*))
    FROM   Products


    B. 使用带 BINARY_CHECKSUM 的 CHECKSUM_AGG 检测表中列的更改。


    下面的示例检测 Northwind 数据库中 Products 表的 UnitsInStock 列中的更改。



    --Get the checksum value before the column value is changed.
    USE   Northwind
    GO
    SELECT   CHECKSUM_AGG(CAST(UnitsInStock AS int))
    FROM   Products


    下面是结果集:



    57

    --Change the value of a row in the column
    UPDATE   Products   --
    SET   UnitsInStock=135
    WHERE   UnitsInStock=125

    --Get the checksum of the modified column.
    SELECT   CHECKSUM_AGG(CAST(UnitsInStock AS int))
    FROM   Products


    下面是结果集:



    195
    相关文章
    本页查看次数: