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_id | Player_name | Playing_team |
---|---|---|
1 | Virat Kohli | RCB |
2 | Rohit Sharma | MI |
3 | Dinesh Karthik | KKR |
4 | Shreyash Iyer | DC |
5 | David Warner | SRH |
6 | Steve Smith | RR |
7 | Andre Russell | KKR |
8 | Jasprit Bumrah | MI |
9 | Risabh Panth | DC |
现在,我们将使用 CRC32函数找到 Player_name 和 Playing_team 列的循环冗余值。
SELECT
*, CRC32(Player_name),
CRC32(Playing_team)
FROM Player;
输出 :
Player_id | Player_name | Playing_team | CRC32 (Player_name) | CRC32 (Playing_team) |
---|---|---|---|---|
1 | Virat Kohli | RCB | 4234533515 | 3556712374 |
2 | Rohit Sharma | MI | 2696911654 | 185522819 |
3 | Dinesh Karthik | KKR | 703307832 | 359013669 |
4 | Shreyash Iyer | DC | 2817545593 | 974751956 |
5 | David Warner | SRH | 3645256088 | 1630650255 |
6 | Steve Smith | RR | 777202257 | 1278287345 |
7 | Andre Russell | KKR | 3090306698 | 359013669 |
8 | Jasprit Bumrah | MI | 191461017 | 185522819 |
9 | Risabh Panth | DC | 178998608 | 974751956 |