In MySQL, il CRC32()
la funzione calcola un valore di controllo di ridondanza ciclico e restituisce un valore senza segno a 32 bit.
CRC sta per Cyclic Redundancy Check . Un CRC è un codice di rilevamento degli errori comunemente utilizzato nelle reti digitali e nei dispositivi di archiviazione per rilevare modifiche accidentali ai dati grezzi (sebbene non protegga necessariamente da modifiche dannose o intenzionali).
Sintassi
La sintassi è questa:
CRC32(expr)
Dove expr
è una stringa. Se l'argomento non è una stringa, MySQL lo tratta comunque come tale (o otterrai un errore). Se l'argomento è NULL
, quindi NULL
viene restituito.
Esempio 1 – Utilizzo di base
Ecco un esempio di base per dimostrare cosa CRC32()
restituisce una stringa di esempio.
SELECT CRC32('Bob');
Risultato:
+--------------+ | CRC32('Bob') | +--------------+ | 3448174496 | +--------------+
Esempio 2:distinzione tra maiuscole e minuscole
Otterrai un risultato diverso, a seconda del caso che utilizzi.
SELECT CRC32('Bob'), CRC32('bob'), CRC32('BOB');
Risultato:
+--------------+--------------+--------------+ | CRC32('Bob') | CRC32('bob') | CRC32('BOB') | +--------------+--------------+--------------+ | 3448174496 | 4123767104 | 1668084682 | +--------------+--------------+--------------+
Esempio 3 – Numeri
Come accennato, l'argomento viene trattato come una stringa anche se in realtà non è una stringa. Ecco un esempio in cui chiamo la funzione due volte. La prima volta che lo chiamo passo un numero (123
) e la seconda volta che passo una stringa ('123'
).
SELECT CRC32(123), CRC32('123');
Risultato:
+------------+--------------+ | CRC32(123) | CRC32('123') | +------------+--------------+ | 2286445522 | 2286445522 | +------------+--------------+
Come puoi vedere, otteniamo lo stesso risultato per entrambi i valori.
Esempio 4 – Valori NULL
I valori Null restituiscono NULL
.
SELECT CRC32(NULL);
Risultato:
+-------------+ | CRC32(NULL) | +-------------+ | NULL | +-------------+