CRC32 函数

简介

CRC32 函数用于计算给定字符串的 CRC-32 循环冗余校验值。CRC-32 基于 IEEE 802.3 标准,可以将任意长度的数据映射为一个 32 位的无符号整数校验值,常用于数据完整性校验和错误检测。

语法

crc32(expr)

参数说明

  • expr: 需要计算 CRC-32 校验值的输入数据,支持 STRING、VARCHAR、CHAR 类型。

返回结果

返回一个 BIGINT 类型的值,表示计算得到的 CRC-32 校验值(范围为 0 到 4294967295)。

使用示例

  1. 计算一个简单字符串的 CRC32 值:

    SELECT crc32('hello') AS res;
    +-----------+
    |    res    |
    +-----------+
    | 907060870 |
    +-----------+
  2. 计算一个包含特殊字符的字符串的 CRC32 值:

    SELECT crc32('Hello, World!') AS res;
    +------------+
    |    res     |
    +------------+
    | 3964322768 |
    +------------+
  3. 当输入为 NULL 时:

    SELECT crc32(NULL) AS res;
    +------+
    | res  |
    +------+
    | NULL |
    +------+

注意事项

  • CRC32 返回的是一个 BIGINT 类型的整数值,而非十六进制字符串,这与 SHA 系列哈希函数不同。
  • CRC-32 是一种循环冗余校验算法,不属于加密哈希函数,不适用于安全相关的场景(如密码存储、数字签名)。
  • CRC-32 输出为 32 位无符号整数,取值范围为 0 到 4294967295。
  • 当输入参数为 NULL 时,返回结果为 NULL。
  • CRC-32 适用于数据传输校验、文件完整性检测等场景。

联系我们
预约咨询
微信咨询
电话咨询