In MySQL is de CRC32()
functie berekent een cyclische redundantiecontrolewaarde en retourneert een 32-bits waarde zonder teken.
CRC staat voor Cyclic Redundancy Check . Een CRC is een foutdetectiecode die vaak wordt gebruikt in digitale netwerken en opslagapparaten om onbedoelde wijzigingen in onbewerkte gegevens te detecteren (hoewel het niet noodzakelijkerwijs beschermt tegen kwaadwillende of opzettelijke wijzigingen).
Syntaxis
De syntaxis gaat als volgt:
CRC32(expr)
Waar expr
is een string. Als het argument geen string is, behandelt MySQL het hoe dan ook als een string (ofwel dat, of je krijgt een foutmelding). Als het argument NULL
is , dan NULL
wordt geretourneerd.
Voorbeeld 1 – Basisgebruik
Hier is een eenvoudig voorbeeld om te demonstreren wat CRC32()
retourneert voor een voorbeeldtekenreeks.
SELECT CRC32('Bob');
Resultaat:
+--------------+ | CRC32('Bob') | +--------------+ | 3448174496 | +--------------+
Voorbeeld 2 – Hoofdlettergevoeligheid
Je krijgt een ander resultaat, afhankelijk van het geval dat je gebruikt.
SELECT CRC32('Bob'), CRC32('bob'), CRC32('BOB');
Resultaat:
+--------------+--------------+--------------+ | CRC32('Bob') | CRC32('bob') | CRC32('BOB') | +--------------+--------------+--------------+ | 3448174496 | 4123767104 | 1668084682 | +--------------+--------------+--------------+
Voorbeeld 3 – Cijfers
Zoals vermeld, wordt het argument behandeld als een string, zelfs als het niet echt een string is. Hier is een voorbeeld waarbij ik de functie twee keer aanroep. De eerste keer dat ik het bel, geef ik een nummer door (123
), en de tweede keer dat ik een string doorgeef ('123'
).
SELECT CRC32(123), CRC32('123');
Resultaat:
+------------+--------------+ | CRC32(123) | CRC32('123') | +------------+--------------+ | 2286445522 | 2286445522 | +------------+--------------+
Zoals je kunt zien, krijgen we hetzelfde resultaat voor beide waarden.
Voorbeeld 4 – NULL-waarden
Null-waarden retourneren NULL
.
SELECT CRC32(NULL);
Resultaat:
+-------------+ | CRC32(NULL) | +-------------+ | NULL | +-------------+