MySQL CRC32() 用法与实例

在 MySQL 中, CRC32() 函数计算循环冗余检查值并返回 32 位无符号值。

发布于

在 MySQL 中, CRC32() 函数计算循环冗余检查值并返回 32 位无符号值。

CRC 代表 循环冗余校验。CRC 是数字网络和存储设备中常用的错误检测代码,用于检测对原始数据的意外更改(尽管它不一定能防止恶意或故意更改)。

本文将说明 MySQL CRC32() 函数的用法并给出了几个实例。

语法

您可以使用以下语法:

CRC32(expr)

其中是 expr 字符串。如果参数不是字符串,MySQL 无论如何都会将其视为字符串(要么如此,否则您会收到错误)。如果参数为 NULL,则返回 NULL

示例 1 – 基本用法

下面是一个基本示例,用于演示示例字符串的返回内容。CRC32()

SELECT CRC32('Hello');

输出:

+----------------+
| CRC32('Hello') |
+----------------+
|     4157704578 |
+----------------+

示例 2 – 区分大小写

你会得到不同的结果,具体取决于你使用的情况。

SELECT
  CRC32('Hello'),
  CRC32('hello');

输出:

+----------------+----------------+
| CRC32('Hello') | CRC32('hello') |
+----------------+----------------+
|     4157704578 |      907060870 |
+----------------+----------------+

示例 3 – 数字

如前所述,参数被视为字符串,即使它实际上不是字符串。下面是一个示例,其中我调用了该函数两次。第一次我调用它时,我传入一个数字 (123),第二次传入一个字符串 ('123')。

SELECT
  CRC32(1234),
  CRC32('1234');

输出:

+-------------+---------------+
| CRC32(1234) | CRC32('1234') |
+-------------+---------------+
|  2615402659 |    2615402659 |
+-------------+---------------+

如您所见,对于这两个值,我们得到的结果相同。

示例 4 – NULL

空值返回 NULL

SELECT CRC32(NULL);

输出:

+-------------+
| CRC32(NULL) |
+-------------+
|        NULL |
+-------------+