Dans MySQL, le CRC32()
La fonction calcule une valeur de contrôle de redondance cyclique et renvoie une valeur non signée de 32 bits.
CRC signifie Cyclic Redundancy Check . Un CRC est un code de détection d'erreur couramment utilisé dans les réseaux numériques et les périphériques de stockage pour détecter les modifications accidentelles des données brutes (bien qu'il ne protège pas nécessairement contre les modifications malveillantes ou intentionnelles).
Syntaxe
La syntaxe ressemble à ceci :
CRC32(expr)
Où expr
est une chaîne. Si l'argument n'est pas une chaîne, MySQL le traite comme tel de toute façon (soit cela, soit vous obtiendrez une erreur). Si l'argument est NULL
, puis NULL
est renvoyé.
Exemple 1 - Utilisation de base
Voici un exemple de base pour démontrer ce que CRC32()
renvoie pour un exemple de chaîne.
SELECT CRC32('Bob');
Résultat :
+--------------+| CRC32('Bob') |+--------------+| 3448174496 |+--------------+
Exemple 2 – Sensibilité à la casse
Vous obtiendrez un résultat différent, selon le cas que vous utilisez.
SELECT CRC32('Bob'), CRC32('bob'), CRC32('BOB');
Résultat :
+--------------+-------------+--------------+| CRC32('Bob') | CRC32('bob') | CRC32('BOB') |+--------------+--------------+------------ --+| 3448174496 | 4123767104 | 1668084682 |+-------------+--------------+--------------+Exemple 3 – Chiffres
Comme mentionné, l'argument est traité comme une chaîne même s'il ne s'agit pas réellement d'une chaîne. Voici un exemple où j'appelle la fonction deux fois. La première fois que je l'appelle, je passe un numéro (
123
), et la deuxième fois que je passe une chaîne ('123'
).SELECT CRC32(123), CRC32('123');Résultat :
+------------+--------------+| CRC32(123) | CRC32('123') |+------------+--------------+| 2286445522 | 2286445522 |+------------+----------------------+Comme vous pouvez le voir, nous obtenons le même résultat pour les deux valeurs.
Exemple 4 – Valeurs NULL
Les valeurs nulles renvoient
NULL
.SELECT CRC32(NULL);Résultat :
+-------------+| CRC32(NULL) |+-------------+| NULL |+-------------+