I MySQL, CRC32()
funktion beräknar ett cykliskt redundanskontrollvärde och returnerar ett 32-bitars osignerat värde.
CRC står för Cyclic Redundancy Check . En CRC är en felupptäckande kod som vanligtvis används i digitala nätverk och lagringsenheter för att upptäcka oavsiktliga ändringar av rådata (även om den inte nödvändigtvis skyddar mot skadliga eller avsiktliga ändringar).
Syntax
Syntaxen ser ut så här:
CRC32(expr)
Där expr
är ett snöre. Om argumentet inte är en sträng, behandlar MySQL det som ett ändå (antingen det, eller så får du ett fel). Om argumentet är NULL
, sedan NULL
returneras.
Exempel 1 – Grundläggande användning
Här är ett grundläggande exempel för att visa vad CRC32()
returnerar för en exempelsträng.
VÄLJ CRC32('Bob');
Resultat:
+--------------+| CRC32('Bob') |+--------------+| 3448174496 |+--------------+
Exempel 2 – skiftlägeskänslighet
Du får ett annat resultat, beroende på vilket fall du använder.
VÄLJ CRC32('Bob'), CRC32('bob'), CRC32('BOB');
Resultat:
+--------------+-------------+--------------+| CRC32('Bob') | CRC32('bob') | CRC32('BOB') |+--------------------+------ --+| 3448174496 | 4123767104 | 1668084682 |+--------------+--------------+--------------+Exempel 3 – Siffror
Som nämnts behandlas argumentet som en sträng även om det faktiskt inte är en sträng. Här är ett exempel där jag anropar funktionen två gånger. Första gången jag ringer det skickar jag in ett nummer (
123
), och andra gången jag skickar in en sträng ('123'
).VÄLJ CRC32(123), CRC32('123');Resultat:
+------------+--------------+| CRC32(123) | CRC32('123') |+------------+-------------+| 2286445522 | 2286445522 |+------------+-------------------+Som du kan se får vi samma resultat för båda värdena.
Exempel 4 – NULL-värden
Nullvärden returnerar
NULL
.VÄLJ CRC32(NULL);Resultat:
+-------------+| CRC32(NULL) |+-------------+| NULL |+-------------+