📜  MySQL 中的 CRC32()函数

📅  最后修改于: 2022-05-13 01:55:21.758000             🧑  作者: Mango

MySQL 中的 CRC32()函数

MySQL 中的 CRC32()函数用于计算循环冗余值。如果参数为 NULL,则返回 NULL,否则,计算冗余后返回 32 位无符号值。

句法 :

CRC32(expr)

范围 :
该方法只接受一个参数。

  • expr –它是一个要检索其 CRC32 值的字符串。

回报:
它返回循环冗余值。

示例-1:
使用 CRC32函数查找字符串的循环冗余值。

SELECT CRC32('geeksforgeeks') 
AS CRC_Value;

输出 :

CRC_Value 
114079174

示例 2 :
使用 CRC32函数查找数字的循环冗余值。

SELECT CRC32( 2020 ) 
AS CRC_Value;

输出 :

CRC_Value 
2493804155

示例 3 :
使用 CRC32函数查找 NULL 参数的循环冗余值。

SELECT CRC32(NULL) 
AS CRC_Value;

输出 :

CRC_Value 
NULL

示例 4:
使用 CRC32函数查找列数据的循环冗余值。为了演示,让我们创建一个名为 Player 的表。

CREATE TABLE Player
(
Player_id INT AUTO_INCREMENT,  
Player_name VARCHAR(100) NOT NULL,
Playing_team VARCHAR(20) NOT NULL,
PRIMARY KEY(Player_id )
);

现在,向 Player 表中插入一些数据。

INSERT INTO  
Player(Player_name, Playing_team)
VALUES
('Virat Kohli', 'RCB' ),
('Rohit Sharma', 'MI' ),
('Dinesh Karthik', 'KKR'  ),
('Shreyash Iyer', 'DC'  ),
('David Warner', 'SRH' ),
('Steve Smith', 'RR'  ),
('Andre Russell', 'KKR' ),
('Jasprit Bumrah', 'MI' ),
('Risabh Panth', 'DC'  ) ;

因此,玩家表如下。

SELECT * FROM Player;

输出 :

Player_idPlayer_namePlaying_team
1Virat KohliRCB
2Rohit SharmaMI
3Dinesh KarthikKKR
4Shreyash IyerDC
5David WarnerSRH
6Steve SmithRR
7Andre RussellKKR
8Jasprit BumrahMI
9Risabh PanthDC

现在,我们将使用 CRC32函数找到 Player_name 和 Playing_team 列的循环冗余值。

SELECT 
*, CRC32(Player_name),
CRC32(Playing_team)
FROM Player;

输出 :

Player_idPlayer_namePlaying_teamCRC32 (Player_name)CRC32 (Playing_team)
1Virat KohliRCB 42345335153556712374
2Rohit SharmaMI 2696911654185522819
3Dinesh KarthikKKR703307832359013669
4Shreyash IyerDC2817545593974751956
5David WarnerSRH36452560881630650255
6Steve SmithRR7772022571278287345
7Andre RussellKKR3090306698359013669
8Jasprit BumrahMI191461017185522819
9Risabh PanthDC178998608974751956