Mysql
 sql >> Base de données >  >> RDS >> Mysql

Fonction MySQL CRC32() – Exemples

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)

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 |+-------------+